.PHONY: all objdir clean realclean distclean
-# CONTENT
+# CORE VARIABLES
MODULE := ungif
CONFIG := release
+ifndef COMPILER
COMPILER := default
+endif
+
TARGET_TYPE = staticlib
+# FLAGS
+
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
+
+CONSOLE = -mwindows
+
+# INCLUDES
+
+_CF_DIR = ../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)include.mk
+
+# POST-INCLUDES VARIABLES
+
OBJ = obj/$(CONFIG).$(PLATFORM)/
RES =
TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ungif$(A)
-OBJECTS = $(OBJ)dgif_lib.o $(OBJ)gif_err.o $(OBJ)gifalloc.o
+_OBJECTS = \
+ $(OBJ)dgif_lib.o \
+ $(OBJ)gif_err.o \
+ $(OBJ)gifalloc.o
-COBJECTS =
+OBJECTS = $(_OBJECTS)
-SYMBOLS =
-
-IMPORTS =
-
-SOURCES = lib/dgif_lib.c lib/gif_err.c lib/gifalloc.c
+SOURCES = $(ECSOURCES) \
+ lib/dgif_lib.c \
+ lib/gif_err.c \
+ lib/gifalloc.c
RESOURCES =
-# CROSS-PLATFORM MAGIC
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-include ../../include.mk
+CFLAGS += \
+ $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w
-# TOOLCHAIN
-CPP := cpp
-CC := gcc
-LD := gcc
-AR := ar
-STRIP := strip
-UPX := upx
-
-# FLAGS
-CFLAGS = -fmessage-length=0 -O2 -ffast-math -m32 $(FPIC) -w
-LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-UPXFLAGS = -9 -q
+CECFLAGS += "-cpp $(CPP)"
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
-ifdef LINUX
-OFLAGS += -Wl,--no-undefined
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT)
+OFLAGS += $(LDFLAGS)
endif
# TARGETS
clean: objdir
$(call rmq,$(TARGET))
- $(call rmq,$(OBJECTS))
- $(call rmq,$(COBJECTS))
+ $(call rmq,$(_OBJECTS))
-realclean:
+realclean: clean
$(call rmrq,$(OBJ))
distclean: