--- Makefile.orig 2016-12-31 16:31:37 UTC +++ Makefile @@ -1,10 +1,18 @@ PACKAGE = apngasm -CC = gcc -SRC_DIRS = . 7z zopfli -CFLAGS = -Wall -pedantic -DFEATURE_7ZIP -DFEATURE_ZOPFLI -CFLAGS_OPT = -O2 -CFLAGS_7Z = -Wno-sign-compare -Wno-reorder -Wno-maybe-uninitialized -Wno-parentheses -LIBS = -lstdc++ -lm -lpng -lz +CC ?= cc +CXX ?= c++ +SRC_DIRS = . 7z +CFLAGS += -Wall -pedantic -DFEATURE_7ZIP -DFEATURE_ZOPFLI +CXXFLAGS += -Wall -pedantic -DFEATURE_7ZIP -DFEATURE_ZOPFLI +CPPFLAGS += $(shell libpng-config --cflags) +CFLAGS_7Z = -Wno-sign-compare -Wno-reorder -Wno-parentheses +ifeq ($(strip $(STATIC)),) +LIBS = $(shell libpng-config --ldflags) +else +SRC_DIRS += zopfli +LIBS = $(shell libpng-config --static --ldflags) +LDFLAGS += -static +endif INCUDE_DIRS := $(addprefix -I./, $(SRC_DIRS)) OBJ_DIRS := $(addprefix obj/, $(SRC_DIRS)) @@ -16,19 +24,19 @@ OBJECTS := $(OBJECTS:.cpp=.o) all : $(PACKAGE) $(PACKAGE) : objdirs $(OBJECTS) - $(CC) -o $@ $(OBJECTS) -s $(LIBS) + $(CXX) -o $@ $(OBJECTS) $(LIBS) $(LDFLAGS) objdirs : mkdir -p $(OBJ_DIRS) obj/%.o : %.cpp - $(CC) -o $@ -c $< $(INCUDE_DIRS) $(CFLAGS) $(CFLAGS_OPT) + $(CXX) -o $@ -c $< $(INCUDE_DIRS) $(CXXFLAGS) $(CPPFLAGS) obj/%.o : %.c - $(CC) -o $@ -c $< $(INCUDE_DIRS) $(CFLAGS) $(CFLAGS_OPT) + $(CC) -o $@ -c $< $(INCUDE_DIRS) $(CFLAGS) $(CPPFLAGS) obj/%.o : %.cc - $(CC) -o $@ -c $< $(INCUDE_DIRS) $(CFLAGS) $(CFLAGS_OPT) $(CFLAGS_7Z) + $(CXX) -o $@ -c $< $(INCUDE_DIRS) $(CXXFLAGS) $(CPPFLAGS) $(CFLAGS_7Z) .PHONY : clean