1 .PHONY: all objdir clean realclean distclean
11 TARGET_TYPE = executable
34 include $(_CF_DIR)crossplatform.mk
35 include $(_CF_DIR)include.mk
37 # CUSTOM TOOLCHAIN / COMPILER CONFIG
39 export LD_LIBRARY_PATH=../obj/$(PLATFORM)/lib
40 export DYLD_LIBRARY_PATH=../obj/$(PLATFORM)/lib
41 ECP := $(call psep,../obj/$(PLATFORM)/bin/ecp)
42 ECC := $(call psep,../obj/$(PLATFORM)/bin/ecc)$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
43 ECS := $(call psep,../obj/$(PLATFORM)/bin/ecs)$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
44 EAR := $(call psep,../obj/$(PLATFORM)/bin/ear)
46 # END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
48 # POST-INCLUDES VARIABLES
50 OBJ = obj/$(CONFIG).$(PLATFORM)/
54 TARGET = obj/$(CONFIG).$(PLATFORM)/epj2make$(E)
57 ../ide/src/project/Project.ec \
58 ../ide/src/project/ProjectConfig.ec \
59 ../ide/src/project/ProjectNode.ec \
60 ../ide/src/IDESettings.ec \
61 ../ide/src/OldIDESettings.ec \
62 ../extras/gui/controls/StringsBox.ec \
63 ../extras/types/DynamicString.ec \
66 ECSOURCES = $(call shwspace,$(_ECSOURCES))
68 COBJECTS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(C),$(notdir $(_ECSOURCES)))))
70 SYMBOLS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(S),$(notdir $(_ECSOURCES)))))
72 IMPORTS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(I),$(notdir $(_ECSOURCES)))))
74 ECOBJECTS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(_ECSOURCES)))))
76 BOWLS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES)))))
78 OBJECTS = $(ECOBJECTS) $(OBJ)$(MODULE).main$(O)
80 SOURCES = $(ECSOURCES)
83 locale/zh_CN/LC_MESSAGES/epj2make.mo \
84 locale/es_ES/LC_MESSAGES/epj2make.mo \
87 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
89 ifndef STATIC_LIBRARY_TARGET
95 $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
96 $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
104 # PLATFORM-SPECIFIC OPTIONS
112 CECFLAGS += -cpp $(_CPP)
114 ifndef STATIC_LIBRARY_TARGET
115 OFLAGS += $(FORCE_32_BIT) \
116 -L../obj/$(PLATFORM)/bin \
117 -L../obj/$(PLATFORM)/lib
123 all: objdir $(TARGET)
126 $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
128 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
129 $(ECS) -console $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
131 $(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
132 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
133 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.c -symbols $(OBJ)
137 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
138 ifndef STATIC_LIBRARY_TARGET
139 $(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
141 $(STRIP) $(STRIPOPT) $(TARGET)
143 $(EAR) $(EARFLAGS) $(TARGET) ../crossplatform.mk ""
144 $(EAR) $(EARFLAGS) $(TARGET) locale/zh_CN/LC_MESSAGES/epj2make.mo "locale/zh_CN/LC_MESSAGES"
145 $(EAR) $(EARFLAGS) $(TARGET) locale/es_ES/LC_MESSAGES/epj2make.mo "locale/es_ES/LC_MESSAGES"
147 $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
149 $(call cpq,$(TARGET),../obj/$(PLATFORM)/bin/)
153 $(OBJ)Project.sym: ../ide/src/project/Project.ec
154 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/project/Project.ec -o $(OBJ)Project.sym
156 $(OBJ)ProjectConfig.sym: ../ide/src/project/ProjectConfig.ec
157 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/project/ProjectConfig.ec -o $(OBJ)ProjectConfig.sym
159 $(OBJ)ProjectNode.sym: ../ide/src/project/ProjectNode.ec
160 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/project/ProjectNode.ec -o $(OBJ)ProjectNode.sym
162 $(OBJ)IDESettings.sym: ../ide/src/IDESettings.ec
163 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/IDESettings.ec -o $(OBJ)IDESettings.sym
165 $(OBJ)OldIDESettings.sym: ../ide/src/OldIDESettings.ec
166 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/OldIDESettings.ec -o $(OBJ)OldIDESettings.sym
168 $(OBJ)StringsBox.sym: ../extras/gui/controls/StringsBox.ec
169 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../extras/gui/controls/StringsBox.ec -o $(OBJ)StringsBox.sym
171 $(OBJ)DynamicString.sym: ../extras/types/DynamicString.ec
172 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../extras/types/DynamicString.ec -o $(OBJ)DynamicString.sym
174 $(OBJ)epj2make.sym: epj2make.ec
175 $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c epj2make.ec -o $(OBJ)epj2make.sym
179 $(OBJ)Project.c: ../ide/src/project/Project.ec $(OBJ)Project.sym | $(SYMBOLS)
180 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/project/Project.ec -o $(OBJ)Project.c -symbols $(OBJ)
182 $(OBJ)ProjectConfig.c: ../ide/src/project/ProjectConfig.ec $(OBJ)ProjectConfig.sym | $(SYMBOLS)
183 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/project/ProjectConfig.ec -o $(OBJ)ProjectConfig.c -symbols $(OBJ)
185 $(OBJ)ProjectNode.c: ../ide/src/project/ProjectNode.ec $(OBJ)ProjectNode.sym | $(SYMBOLS)
186 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/project/ProjectNode.ec -o $(OBJ)ProjectNode.c -symbols $(OBJ)
188 $(OBJ)IDESettings.c: ../ide/src/IDESettings.ec $(OBJ)IDESettings.sym | $(SYMBOLS)
189 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/IDESettings.ec -o $(OBJ)IDESettings.c -symbols $(OBJ)
191 $(OBJ)OldIDESettings.c: ../ide/src/OldIDESettings.ec $(OBJ)OldIDESettings.sym | $(SYMBOLS)
192 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/OldIDESettings.ec -o $(OBJ)OldIDESettings.c -symbols $(OBJ)
194 $(OBJ)StringsBox.c: ../extras/gui/controls/StringsBox.ec $(OBJ)StringsBox.sym | $(SYMBOLS)
195 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../extras/gui/controls/StringsBox.ec -o $(OBJ)StringsBox.c -symbols $(OBJ)
197 $(OBJ)DynamicString.c: ../extras/types/DynamicString.ec $(OBJ)DynamicString.sym | $(SYMBOLS)
198 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../extras/types/DynamicString.ec -o $(OBJ)DynamicString.c -symbols $(OBJ)
200 $(OBJ)epj2make.c: epj2make.ec $(OBJ)epj2make.sym | $(SYMBOLS)
201 $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c epj2make.ec -o $(OBJ)epj2make.c -symbols $(OBJ)
205 $(OBJ)Project.o: $(OBJ)Project.c
206 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)Project.c -o $(OBJ)Project.o
208 $(OBJ)ProjectConfig.o: $(OBJ)ProjectConfig.c
209 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)ProjectConfig.c -o $(OBJ)ProjectConfig.o
211 $(OBJ)ProjectNode.o: $(OBJ)ProjectNode.c
212 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)ProjectNode.c -o $(OBJ)ProjectNode.o
214 $(OBJ)IDESettings.o: $(OBJ)IDESettings.c
215 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)IDESettings.c -o $(OBJ)IDESettings.o
217 $(OBJ)OldIDESettings.o: $(OBJ)OldIDESettings.c
218 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)OldIDESettings.c -o $(OBJ)OldIDESettings.o
220 $(OBJ)StringsBox.o: $(OBJ)StringsBox.c
221 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)StringsBox.c -o $(OBJ)StringsBox.o
223 $(OBJ)DynamicString.o: $(OBJ)DynamicString.c
224 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)DynamicString.c -o $(OBJ)DynamicString.o
226 $(OBJ)epj2make.o: $(OBJ)epj2make.c
227 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)epj2make.c -o $(OBJ)epj2make.o
229 $(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c
230 $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)
233 $(call rmq,$(OBJ)$(MODULE).main.o $(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S) $(TARGET))
234 $(call rmq,$(_OBJECTS))
235 $(call rmq,$(ECOBJECTS))
236 $(call rmq,$(COBJECTS))
238 $(call rmq,$(IMPORTS))
239 $(call rmq,$(SYMBOLS))