-.PHONY: all objdir clean realclean distclean
+.PHONY: all objdir cleantarget clean realclean distclean
-# CONTENT
+# CORE VARIABLES
MODULE := libz
CONFIG := release
+ifndef COMPILER
COMPILER := default
+endif
+
TARGET_TYPE = staticlib
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
-RES =
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+LDFLAGS =
+endif
+PRJ_CFLAGS =
+CECFLAGS =
+OFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)z$(A)
+CONSOLE = -mwindows
-OBJECTS = $(OBJ)adler32.o $(OBJ)compress.o $(OBJ)crc32.o $(OBJ)deflate.o $(OBJ)gzio.o \
- $(OBJ)infback.o $(OBJ)inffast.o $(OBJ)inflate.o $(OBJ)inftrees.o $(OBJ)trees.o $(OBJ)uncompr.o \
- $(OBJ)zutil.o
+# INCLUDES
-COBJECTS =
+_CF_DIR = ../../
-SYMBOLS =
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
-IMPORTS =
+# POST-INCLUDES VARIABLES
-SOURCES = adler32.c compress.c crc32.c deflate.c gzio.c infback.c inffast.c inflate.c \
- inftrees.c trees.c uncompr.c zutil.c
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
+
+RES =
+
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)z$(A)
+
+_OBJECTS = \
+ $(OBJ)adler32.o \
+ $(OBJ)compress.o \
+ $(OBJ)crc32.o \
+ $(OBJ)deflate.o \
+ $(OBJ)gzio.o \
+ $(OBJ)infback.o \
+ $(OBJ)inffast.o \
+ $(OBJ)inflate.o \
+ $(OBJ)inftrees.o \
+ $(OBJ)trees.o \
+ $(OBJ)uncompr.o \
+ $(OBJ)zutil.o
+
+OBJECTS = $(_OBJECTS)
+
+SOURCES = \
+ adler32.c \
+ compress.c \
+ crc32.c \
+ deflate.c \
+ gzio.c \
+ infback.c \
+ inffast.c \
+ inflate.c \
+ inftrees.c \
+ trees.c \
+ uncompr.c \
+ zutil.c
RESOURCES =
-# CROSS-PLATFORM MAGIC
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-include ../../include.mk
+PRJ_CFLAGS += \
+ $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
-# FLAGS
-CFLAGS = -fmessage-length=0 -O2 -ffast-math -m32 $(FPIC) -w
-LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-UPXFLAGS = -9 -q
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
-ifdef LINUX
-OFLAGS += -Wl,--no-undefined
+CECFLAGS += -cpp $(_CPP)
+
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS +=
endif
# TARGETS
# OBJECT RULES
$(OBJ)adler32.o: adler32.c
- $(CC) $(CFLAGS) -c adler32.c -o $(OBJ)adler32.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c adler32.c -o $(OBJ)adler32.o
$(OBJ)compress.o: compress.c
- $(CC) $(CFLAGS) -c compress.c -o $(OBJ)compress.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c compress.c -o $(OBJ)compress.o
$(OBJ)crc32.o: crc32.c
- $(CC) $(CFLAGS) -c crc32.c -o $(OBJ)crc32.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c crc32.c -o $(OBJ)crc32.o
$(OBJ)deflate.o: deflate.c
- $(CC) $(CFLAGS) -c deflate.c -o $(OBJ)deflate.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c deflate.c -o $(OBJ)deflate.o
$(OBJ)gzio.o: gzio.c
- $(CC) $(CFLAGS) -c gzio.c -o $(OBJ)gzio.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c gzio.c -o $(OBJ)gzio.o
$(OBJ)infback.o: infback.c
- $(CC) $(CFLAGS) -c infback.c -o $(OBJ)infback.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c infback.c -o $(OBJ)infback.o
$(OBJ)inffast.o: inffast.c
- $(CC) $(CFLAGS) -c inffast.c -o $(OBJ)inffast.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c inffast.c -o $(OBJ)inffast.o
$(OBJ)inflate.o: inflate.c
- $(CC) $(CFLAGS) -c inflate.c -o $(OBJ)inflate.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c inflate.c -o $(OBJ)inflate.o
$(OBJ)inftrees.o: inftrees.c
- $(CC) $(CFLAGS) -c inftrees.c -o $(OBJ)inftrees.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c inftrees.c -o $(OBJ)inftrees.o
$(OBJ)trees.o: trees.c
- $(CC) $(CFLAGS) -c trees.c -o $(OBJ)trees.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c trees.c -o $(OBJ)trees.o
$(OBJ)uncompr.o: uncompr.c
- $(CC) $(CFLAGS) -c uncompr.c -o $(OBJ)uncompr.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c uncompr.c -o $(OBJ)uncompr.o
$(OBJ)zutil.o: zutil.c
- $(CC) $(CFLAGS) -c zutil.c -o $(OBJ)zutil.o
+ $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c zutil.c -o $(OBJ)zutil.o
-clean: objdir
+cleantarget: objdir
$(call rmq,$(TARGET))
- $(call rmq,$(OBJECTS))
- $(call rmq,$(COBJECTS))
-realclean:
+clean: cleantarget
+ $(call rmq,$(_OBJECTS))
+
+realclean: cleantarget
$(call rmrq,$(OBJ))
-distclean:
+distclean: cleantarget
$(call rmrq,obj/)