ECFLAGS =
ifndef DEBIAN_PACKAGE
CFLAGS =
+LDFLAGS =
endif
CECFLAGS =
OFLAGS =
-LDFLAGS =
LIBS =
ifdef DEBUG
NOSTRIP := y
endif
-ifdef EXECUTABLE_TARGET
CONSOLE = -mwindows
-endif
# INCLUDES
_CF_DIR = ../../
+USE_BOOTSTRAP := defined
include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-ifndef WINDOWS_TARGET
-export LD_LIBRARY_PATH = ../../obj/$(PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(PLATFORM)/lib/
-endif
-ECP := $(call psep,../bootstrap/obj/bin.$(PLATFORM)/ecp)
-ECC := $(call psep,../bootstrap/obj/bin.$(PLATFORM)/ecc)
-ECS := $(call psep,../bootstrap/obj/bin.$(PLATFORM)/ecs)
-EAR := $(call psep,../../obj/$(PLATFORM)/bin/ear)
-
-# BSL CFLAGS
-BSL_CFLAGS = -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
# POST-INCLUDES VARIABLES
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
RES =
TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ec$(SO).0.44
SONAME = -Wl,-soname,libec.so.0
else
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ec$(SO)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO)
SONAME =
endif
endif
CFLAGS += \
- $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
$(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
CUSTOM1_CFLAGS = \
-CECFLAGS += -cpp $(call escspace,$(CPP))
+CECFLAGS += -cpp $(_CPP)
ifndef STATIC_LIBRARY_TARGET
OFLAGS += $(FORCE_32_BIT) \
-L../../obj/$(PLATFORM)/bin \
-L../../obj/$(PLATFORM)/lib
-OFLAGS += $(LDFLAGS)
endif
# TARGETS
$(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
$(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
- $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+ $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
$(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
$(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
ln -sf $(LP)$(MODULE)$(SO).0.44 ../../$(SODESTDIR)$(LP)$(MODULE)$(SO)
endif
ifdef WINDOWS_TARGET
- $(call cpq,$(TARGET),../../compiler/bootstrap/obj/bin.$(PLATFORM)/)
+ifndef CROSS_TARGET
+ $(call cpq,$(TARGET),../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/)
+endif
endif
# SYMBOL RULES
# $(OBJ)expression.sym dependency removed
$(OBJ)expression.c: src/expression.ec | $(SYMBOLS)
- $(ECC) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c src/expression.ec -o $(OBJ)expression.c -symbols $(OBJ)
+ $(ECC) $(CECFLAGS) $(CFLAGS) $(CFLAGS) $(FVISIBILITY) -c src/expression.ec -o $(OBJ)expression.c -symbols $(OBJ)
$(OBJ)firstPass.c: src/firstPass.ec $(OBJ)firstPass.sym | $(SYMBOLS)
$(ECC) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c src/firstPass.ec -o $(OBJ)firstPass.c -symbols $(OBJ)
$(CC) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c $(OBJ)type.c -o $(OBJ)type.o
$(OBJ)bsl.o: ../bootstrap/bsl.c
- $(CC) $(CFLAGS) -c ../bootstrap/bsl.c -o $(OBJ)bsl.o
+ $(CC) $(CFLAGS) $(FVISIBILITY) -c ../bootstrap/bsl.c -o $(OBJ)bsl.o
$(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c
$(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)