1 .PHONY: objdir targetdir
11 TARGET_TYPE = executable
15 TARGET = obj/bootstrap/ecp$(E)
17 TARGET = $(OBJ)$(MODULE).main.c
19 # CROSS-PLATFORM MAGIC
21 include ../../default.cf
23 COBJECTS = $(OBJ)ecp.c
25 SYMBOLS = $(OBJ)ecp.sym
27 IMPORTS = $(OBJ)ecp.imp
46 CFLAGS = -fmessage-length=0 -O2 -ffast-math -m32 $(FVISIBILITY) $(FPIC) -w \
51 ECFLAGS = -nolinenumbers
54 -LC:/Program\ Files/ECERE\ SDK/bin \
55 -L../libec/obj/bootstrap \
56 -L../../ecere/obj/bootstrap
58 LIBS = -lecBootstrap -lecereBootstrap $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
62 # PLATFORM-SPECIFIC OPTIONS
66 LIBS += -lwinmm -lws2_32 -lkernel32 -luser32 -lgdi32 -lmpr -ladvapi32 -lshell32 -limm32
78 all: objdir targetdir $(TARGET)
81 $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
83 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
84 $(ECS) -console $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/bootstrap -o $(OBJ)$(MODULE).main.ec
86 $(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
87 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
88 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.c -symbols $(OBJ)
90 $(TARGET): $(SOURCES) $(SYMBOLS) $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main.c
95 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ecp.ec -o $(OBJ)ecp.sym
99 $(OBJ)ecp.c: ecp.ec $(OBJ)ecp.sym | $(SYMBOLS)
100 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ecp.ec -o $(OBJ)ecp.c -symbols $(OBJ)
103 $(call cpq,$(COBJECTS) $(TARGET),../bootstrap/ecp/bootstrap)
105 clean: objdir targetdir
106 $(call rmq,$(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S) $(TARGET))
107 $(call rmq,$(OBJECTS))
108 $(call rmq,$(COBJECTS))
109 $(call rmq,$(IMPORTS))
110 $(call rmq,$(SYMBOLS))
113 $(call rmdirq,$(OBJ))