| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #======================================================================================================================#
- CC_SRC := $(wildcard *.c)
- CC_SRC += $(wildcard PikaPython/pikascript-api/*.c)
- CC_SRC += $(wildcard PikaPython/pikascript-core/*.c)
- CC_SRC += $(wildcard PikaPython/pikascript-lib/PikaStdLib/*.c)
- CC_INC := .
- CC_INC += PikaPython/pikascript-api
- CC_INC += PikaPython/pikascript-core
- #======================================================================================================================#
- PY_SRC := $(wildcard PikaPython/*.py)
- #======================================================================================================================#
- OUT := pika.exe
- #----------------------------------------------------------------------------------------------------------------------#
- CC := gcc
- #----------------------------------------------------------------------------------------------------------------------#
- CCFLAG += -std=gnu11 -O1 -MMD -g
- CCFLAG += -ffunction-sections -fdata-sections
- CCFLAG += -flto
- LDFLAG += -Wl,--warn-common
- LDFLAG += -Wl,--gc-sections
- LDFLAG += -flto
- #======================================================================================================================#
- .DEFAULT_GOAL = all
- _Comma := ,
- ifneq ($(MAKECMDGOALS),clean)
- ifeq (${wildcard obj},)
- _NUL := ${shell mkdir obj}
- endif
- CC_OBJ := $(addprefix obj/,$(addsuffix .co,$(notdir $(CC_SRC))))
- $(foreach obj,$(CC_SRC),$(eval obj/$(notdir $(obj)).co : $(obj)))
- -include $(CC_OBJ:.co=.d)
- CCSuffix := $(CCFLAG) $(addprefix -I,$(CC_INC)) $(addprefix -D,$(CC_DEF))
- LDObject := $(CC_OBJ) $(addprefix -l,$(LD_LIB))
- LDSuffix := $(LDFLAG) $(addprefix -Wl$(_Comma)-L,$(LD_INC))
- endif
- #======================================================================================================================#
- .PHONY: all
- all: $(OUT)
- @echo Build Completed.
- #----------------------------------------------------------------------------------------------------------------------#
- PikaPython/pikascript-api/__asset_pikaModules_py_a.c : $(PY_SRC)
- @cd PikaPython && ./rust-msc-latest-win10.exe
- #----------------------------------------------------------------------------------------------------------------------#
- $(OUT): $(CC_OBJ)
- @echo Linking $(OUT) ...
- @$(CC) $(LDObject) $(LDSuffix) -o $(OUT)
- @echo
- #----------------------------------------------------------------------------------------------------------------------#
- obj/%.co:
- @echo Compile $(@F:.co=) ...
- @$(CC) -c $< -o $@ $(CCSuffix)
- #----------------------------------------------------------------------------------------------------------------------#
- .PHONY: clean
- clean:
- @-rm -f pika.exe
- @-rm -rf ./obj
- @echo Clean Completed.
|