buildsystem,epj2make,ide,tarball; added cleantarget and adjusted realclean and distcl...
[sdk] / deps / libffi-3.0.11 / Makefile
index 684d6e4..6404e4f 100644 (file)
@@ -1,6 +1,6 @@
-.PHONY: all objdir clean realclean distclean
+.PHONY: all objdir cleantarget clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
 MODULE := ffi
 CONFIG := release
@@ -8,45 +8,42 @@ ifndef COMPILER
 COMPILER := default
 endif
 
-_CF_DIR = $(CF_DIR)
-
-ifndef DEBUG
-OPTIMIZE := -O2 -ffast-math
-else
-OPTIMIZE := -g
-NOSTRIP := y
-endif
 TARGET_TYPE = staticlib
 
-ifeq "$(TARGET_TYPE)" "executable"
-CONSOLE = -mwindows
-endif
-
 # FLAGS
 
+ECFLAGS =
 ifndef DEBIAN_PACKAGE
 CFLAGS =
+LDFLAGS =
 endif
+PRJ_CFLAGS =
+CECFLAGS =
 OFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
+
+CONSOLE = -mwindows
 
 # INCLUDES
 
-include ../../crossplatform.mk
-include ../../include.mk
+_CF_DIR = ../../
 
-# VARIABLES
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
 
-OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
+# POST-INCLUDES VARIABLES
 
-ifdef DEBUG
-CFLAGS += -D_DEBUG
-endif
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ffi$(A)
 
-OBJECTS = \
+_OBJECTS = \
        $(OBJ)ffi.o \
        $(OBJ)win32.o \
        $(OBJ)prep_cif.o \
@@ -54,14 +51,9 @@ OBJECTS = \
        $(OBJ)types.o \
        $(OBJ)closures.o
 
-_ECSOURCES =
-
-ECSOURCES = $(call shwspace,$(_ECSOURCES))
-
-
+OBJECTS = $(_OBJECTS)
 
-
-SOURCES = $(ECSOURCES) \
+SOURCES = \
        src/x86/ffi.c \
        src/x86/win32.S \
        src/prep_cif.c \
@@ -71,18 +63,21 @@ SOURCES = $(ECSOURCES) \
 
 RESOURCES =
 
-LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
+
+PRJ_CFLAGS += \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall \
+                        -Iinclude \
+                        -Ii686-pc-mingw32/include \
+                        -Ii686-pc-mingw32
 
-CFLAGS += -fmessage-length=0 $(OPTIMIZE) $(FPIC) -Wall \
-        -Iinclude \
-        -Ii686-pc-mingw32/include \
-        -Ii686-pc-mingw32
 
-CECFLAGS =
 
-ECFLAGS =
 
-ifneq "$(TARGET_TYPE)" "staticlib"
+
+CECFLAGS += -cpp $(_CPP)
+
+ifndef STATIC_LIBRARY_TARGET
 OFLAGS +=
 endif
 
@@ -96,7 +91,7 @@ objdir:
 $(SYMBOLS): | objdir
 $(OBJECTS): | objdir
 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
-ifneq "$(TARGET_TYPE)" "staticlib"
+ifndef STATIC_LIBRARY_TARGET
        $(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
 ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
@@ -112,29 +107,31 @@ endif
 # 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))
-       $(call rmq,$(OBJECTS))
 
-realclean: clean
+clean: cleantarget
+       $(call rmq,$(_OBJECTS))
+
+realclean: cleantarget
        $(call rmrq,$(OBJ))
 
-distclean:
+distclean: cleantarget
        $(call rmrq,obj/)