TARGET = obj/$(CONFIG).$(PLATFORM)/epj2make$(E)
-OBJECTS = $(OBJ)Project.o $(OBJ)ProjectConfig.o $(OBJ)ProjectNode.o $(OBJ)IDESettings.o \
- $(OBJ)OldIDESettings.o $(OBJ)PathBox.o $(OBJ)StringsBox.o \
- $(OBJ)epj2make.o $(OBJ)$(MODULE).main$(O)
-
-COBJECTS = $(OBJ)Project.c $(OBJ)ProjectConfig.c $(OBJ)ProjectNode.c $(OBJ)IDESettings.c \
- $(OBJ)OldIDESettings.c $(OBJ)PathBox.c $(OBJ)StringsBox.c \
+OBJECTS = \
+ $(OBJ)Project.o \
+ $(OBJ)ProjectConfig.o \
+ $(OBJ)ProjectNode.o \
+ $(OBJ)IDESettings.o \
+ $(OBJ)OldIDESettings.o \
+ $(OBJ)StringsBox.o \
+ $(OBJ)epj2make.o \
+ $(OBJ)$(MODULE).main$(O)
+
+COBJECTS = \
+ $(OBJ)Project.c \
+ $(OBJ)ProjectConfig.c \
+ $(OBJ)ProjectNode.c \
+ $(OBJ)IDESettings.c \
+ $(OBJ)OldIDESettings.c \
+ $(OBJ)StringsBox.c \
$(OBJ)epj2make.c
-SYMBOLS = $(OBJ)Project.sym $(OBJ)ProjectConfig.sym $(OBJ)ProjectNode.sym \
- $(OBJ)IDESettings.sym $(OBJ)OldIDESettings.sym $(OBJ)PathBox.sym \
- $(OBJ)StringsBox.sym $(OBJ)epj2make.sym
-
-IMPORTS = $(OBJ)Project.imp $(OBJ)ProjectConfig.imp $(OBJ)ProjectNode.imp \
- $(OBJ)IDESettings.imp $(OBJ)OldIDESettings.imp $(OBJ)PathBox.imp \
- $(OBJ)StringsBox.imp $(OBJ)epj2make.imp
-
-SOURCES = ../ide/src/project/Project.ec ../ide/src/project/ProjectConfig.ec \
- ../ide/src/project/ProjectNode.ec ../ide/src/IDESettings.ec ../ide/src/OldIDESettings.ec \
- ../extras/gui/controls/PathBox.ec ../extras/gui/controls/StringsBox.ec \
+SYMBOLS = \
+ $(OBJ)Project.sym \
+ $(OBJ)ProjectConfig.sym \
+ $(OBJ)ProjectNode.sym \
+ $(OBJ)IDESettings.sym \
+ $(OBJ)OldIDESettings.sym \
+ $(OBJ)StringsBox.sym \
+ $(OBJ)epj2make.sym
+
+IMPORTS = \
+ $(OBJ)Project.imp \
+ $(OBJ)ProjectConfig.imp \
+ $(OBJ)ProjectNode.imp \
+ $(OBJ)IDESettings.imp \
+ $(OBJ)OldIDESettings.imp \
+ $(OBJ)StringsBox.imp \
+ $(OBJ)epj2make.imp
+
+SOURCES = \
+ ../ide/src/project/Project.ec \
+ ../ide/src/project/ProjectConfig.ec \
+ ../ide/src/project/ProjectNode.ec \
+ ../ide/src/IDESettings.ec \
+ ../ide/src/OldIDESettings.ec \
+ ../extras/gui/controls/StringsBox.ec \
epj2make.ec
-RESOURCES = ../include.mk
+RESOURCES = \
+ locale/zh_CN/LC_MESSAGES/epj2make.mo \
+ ../crossplatform.mk
+
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+OFLAGS =
# CROSS-PLATFORM MAGIC
+include ../crossplatform.mk
include ../include.mk
# TOOLCHAIN
# FLAGS
-CFLAGS = -fmessage-length=0 -O2 -ffast-math -m32 $(FPIC) -w \
+CFLAGS += -fmessage-length=0 -O2 -ffast-math -m32 $(FPIC) -w \
-DMAKEFILE_GENERATOR
CECFLAGS =
ECFLAGS = -nolinenumbers
-OFLAGS = -m32 \
+OFLAGS += -m32 \
-L../obj/$(PLATFORM)/bin \
-L../obj/$(PLATFORM)/lib
UPXFLAGS = -9 -q
# HARD CODED PLATFORM-SPECIFIC OPTIONS
-ifdef LINUX
+ifdef LINUX_TARGET
OFLAGS += -Wl,--no-undefined
endif
# PLATFORM-SPECIFIC OPTIONS
-ifdef LINUX
+ifdef LINUX_TARGET
endif
$(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
$(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.c -symbols $(OBJ)
-$(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
+$(SYMBOLS): | objdir
+$(OBJECTS): | objdir
+$(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
$(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
+ifndef NOSTRIP
$(STRIP) $(STRIPOPT) $(TARGET)
- $(EAR) awq $(TARGET) ../include.mk ""
+endif
+ $(EAR) awq $(TARGET) ../crossplatform.mk ""
+ $(EAR) awq $(TARGET) locale/zh_CN/LC_MESSAGES/epj2make.mo "locale/zh_CN/LC_MESSAGES"
+ $(EAR) awq $(TARGET) locale/es_ES/LC_MESSAGES/epj2make.mo "locale/es_ES/LC_MESSAGES"
$(call cpq,$(TARGET),../obj/$(PLATFORM)/bin/)
# SYMBOL RULES
$(OBJ)OldIDESettings.sym: ../ide/src/OldIDESettings.ec
$(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../ide/src/OldIDESettings.ec -o $(OBJ)OldIDESettings.sym
-$(OBJ)PathBox.sym: ../extras/gui/controls/PathBox.ec
- $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../extras/gui/controls/PathBox.ec -o $(OBJ)PathBox.sym
-
$(OBJ)StringsBox.sym: ../extras/gui/controls/StringsBox.ec
$(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c ../extras/gui/controls/StringsBox.ec -o $(OBJ)StringsBox.sym
$(OBJ)OldIDESettings.c: ../ide/src/OldIDESettings.ec $(OBJ)OldIDESettings.sym | $(SYMBOLS)
$(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../ide/src/OldIDESettings.ec -o $(OBJ)OldIDESettings.c -symbols $(OBJ)
-$(OBJ)PathBox.c: ../extras/gui/controls/PathBox.ec $(OBJ)PathBox.sym | $(SYMBOLS)
- $(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../extras/gui/controls/PathBox.ec -o $(OBJ)PathBox.c -symbols $(OBJ)
-
$(OBJ)StringsBox.c: ../extras/gui/controls/StringsBox.ec $(OBJ)StringsBox.sym | $(SYMBOLS)
$(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c ../extras/gui/controls/StringsBox.ec -o $(OBJ)StringsBox.c -symbols $(OBJ)
$(OBJ)epj2make.c: epj2make.ec $(OBJ)epj2make.sym | $(SYMBOLS)
$(ECC) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) $(FVISIBILITY) -c epj2make.ec -o $(OBJ)epj2make.c -symbols $(OBJ)
-# IMPLICIT OBJECT RULE
+# OBJECT RULES
-$(OBJ)%$(O) : $(OBJ)%.c
- $(CC) $(CFLAGS) $(FVISIBILITY) -c $< -o $@
+$(OBJ)Project.o: $(OBJ)Project.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)Project.c -o $(OBJ)Project.o
-# OBJECT RULES
+$(OBJ)ProjectConfig.o: $(OBJ)ProjectConfig.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)ProjectConfig.c -o $(OBJ)ProjectConfig.o
+
+$(OBJ)ProjectNode.o: $(OBJ)ProjectNode.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)ProjectNode.c -o $(OBJ)ProjectNode.o
+
+$(OBJ)IDESettings.o: $(OBJ)IDESettings.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)IDESettings.c -o $(OBJ)IDESettings.o
+
+$(OBJ)OldIDESettings.o: $(OBJ)OldIDESettings.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)OldIDESettings.c -o $(OBJ)OldIDESettings.o
+
+$(OBJ)StringsBox.o: $(OBJ)StringsBox.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)StringsBox.c -o $(OBJ)StringsBox.o
+
+$(OBJ)epj2make.o: $(OBJ)epj2make.c
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)epj2make.c -o $(OBJ)epj2make.o
$(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c
$(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)