-.PHONY: all objdir clean realclean distclean
+.PHONY: all objdir cleantarget clean realclean distclean
# CORE VARIABLES
ECFLAGS =
ifndef DEBIAN_PACKAGE
CFLAGS =
+LDFLAGS =
endif
+PRJ_CFLAGS =
CECFLAGS =
OFLAGS =
-LDFLAGS =
LIBS =
ifdef DEBUG
NOSTRIP := y
endif
-ifdef EXECUTABLE_TARGET
CONSOLE = -mwindows
-endif
# INCLUDES
_CF_DIR = ../../
include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
# POST-INCLUDES VARIABLES
_OBJECTS = \
$(OBJ)ffi.o \
+ $(OBJ)win32.o \
$(OBJ)prep_cif.o \
$(OBJ)raw_api.o \
$(OBJ)types.o \
OBJECTS = $(_OBJECTS)
-SOURCES = $(ECSOURCES) \
+SOURCES = \
src/x86/ffi.c \
+ src/x86/win32.S \
src/prep_cif.c \
src/raw_api.c \
src/types.c \
LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-CFLAGS += \
- $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+PRJ_CFLAGS += \
$(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall \
- -Ii686-pc-mingw32 \
+ -Iinclude \
-Ii686-pc-mingw32/include \
- -Iinclude
+ -Ii686-pc-mingw32
-CECFLAGS += -cpp $(call escspace,$(CPP))
+CECFLAGS += -cpp $(_CPP)
ifndef STATIC_LIBRARY_TARGET
OFLAGS +=
-OFLAGS += $(LDFLAGS)
endif
# TARGETS
# OBJECT RULES
$(OBJ)ffi.o: src/x86/ffi.c
- $(CC) $(CFLAGS) -c src/x86/ffi.c -o $(OBJ)ffi.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/x86/ffi.c -o $(OBJ)ffi.o
$(OBJ)win32.o: src/x86/win32.S
- $(CC) $(CFLAGS) -c src/x86/win32.S -o $(OBJ)win32.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/x86/win32.S -o $(OBJ)win32.o
$(OBJ)prep_cif.o: src/prep_cif.c
- $(CC) $(CFLAGS) -c src/prep_cif.c -o $(OBJ)prep_cif.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/prep_cif.c -o $(OBJ)prep_cif.o
$(OBJ)raw_api.o: src/raw_api.c
- $(CC) $(CFLAGS) -c src/raw_api.c -o $(OBJ)raw_api.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/raw_api.c -o $(OBJ)raw_api.o
$(OBJ)types.o: src/types.c
- $(CC) $(CFLAGS) -c src/types.c -o $(OBJ)types.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/types.c -o $(OBJ)types.o
$(OBJ)closures.o: src/closures.c
- $(CC) $(CFLAGS) -c src/closures.c -o $(OBJ)closures.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/closures.c -o $(OBJ)closures.o
-clean: objdir
+cleantarget: objdir
$(call rmq,$(TARGET))
+
+clean: cleantarget
$(call rmq,$(_OBJECTS))
-realclean: clean
+realclean: cleantarget
$(call rmrq,$(OBJ))
-distclean:
+distclean: cleantarget
$(call rmrq,obj/)