Files
2026-01-29 11:29:56 +08:00

38 lines
1.3 KiB
Makefile

.PHONY: run
ARCH := $(shell uname -s)
MAKEFILE_DIR_TMP := $(dir $(abspath $(lastword ${MAKEFILE_LIST})))
# MAKEFILE_DIR := $(patsubst %/,%,${MAKEFILE_DIR_TMP})
PROJECT_DIR := $(patsubst %/examples/,%,${MAKEFILE_DIR_TMP})
EXAMPLE_1_PATH := ${PROJECT_DIR}/examples/ex1.c
ifeq (${ARCH}, Darwin)
TCC_CMD := ${PROJECT_DIR}/buildXcode/tcc/Debug/tcc
LIBTCC_USAGE_CMD := ${PROJECT_DIR}/buildXcode/demo/libtcc-usage/Debug/libtcc-usage
endif
ifeq (${ARCH}, Linux)
TCC_CMD := ${PROJECT_DIR}/build/tcc/tcc
TCC_FLAGS := -L/usr/lib/x86_64-linux-gnu
LIBTCC_USAGE_CMD := ${PROJECT_DIR}/build/demo/libtcc-usage/libtcc-usage
endif
ifeq ($(findstring CYGWIN, ${ARCH}), CYGWIN)
TCC_CMD := ${PROJECT_DIR}/buildVS/install/bin/tcc.exe
TCC_RUNTIME_PATH := ${PROJECT_DIR}/runtime/win32
TCC_RUNTIME_PATH := $(subst \,\\,$(shell cygpath -w -a -p ${TCC_RUNTIME_PATH}))
TCC_INCLUDE_PATH := ${PROJECT_DIR}/runtime/include
TCC_INCLUDE_PATH := $(subst \,\\,$(shell cygpath -w -a -p ${TCC_INCLUDE_PATH}))
TCC_FLAGS := -L${TCC_RUNTIME_PATH} -I${TCC_INCLUDE_PATH}
EXAMPLE_1_PATH := $(subst \,\\,$(shell cygpath -w -a -p ${EXAMPLE_1_PATH}))
LIBTCC_USAGE_CMD := ${PROJECT_DIR}/buildVS/demo/libtcc-usage/Debug/libtcc-usage.exe
endif
run:
${TCC_CMD} ${TCC_FLAGS} -run ${EXAMPLE_1_PATH}
${LIBTCC_USAGE_CMD} ${TCC_FLAGS}