1 .PHONY: objdir targetdir
11 TARGET_TYPE = executable
15 TARGET = $(OBJ)$(MODULE).main.c
17 # CROSS-PLATFORM MAGIC
19 include ../../default.cf
21 SYMBOLS = $(OBJ)ecs.sym
23 IMPORTS = $(OBJ)ecs.imp
42 CFLAGS = -fmessage-length=0 -O2 -ffast-math -m32 $(FVISIBILITY) $(FPIC) -w \
47 ECFLAGS = -nolinenumbers
50 -LC:/Program\ Files/ECERE\ SDK/bin \
51 -L../libec/obj/bootstrap \
52 -L../../ecere/obj/bootstrap
54 LIBS = -lecBootstrap -lecereBootstrap $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
58 # PLATFORM-SPECIFIC OPTIONS
68 all: objdir targetdir $(TARGET)
71 $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
73 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
74 $(ECS) -console $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/bootstrap -o $(OBJ)$(MODULE).main.ec
76 $(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
77 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
78 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.c -symbols $(OBJ)
80 $(TARGET): $(SOURCES) $(SYMBOLS) $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main.c
85 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ecs.ec -o $(OBJ)ecs.sym
89 $(OBJ)ecs.c: ecs.ec $(OBJ)ecs.sym | $(SYMBOLS)
90 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ecs.ec -o $(OBJ)ecs.c -symbols $(OBJ)
93 $(call cpq,$(COBJECTS) $(TARGET),../bootstrap/ecs/bootstrap)
95 clean: objdir targetdir
96 $(call rmq,$(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S) $(TARGET))
97 $(call rmq,$(OBJECTS))
98 $(call rmq,$(COBJECTS))
99 $(call rmq,$(IMPORTS))
100 $(call rmq,$(SYMBOLS))
103 $(call rmdirq,$(OBJ))