11# args
22STATIC_CPP := 0
3+ STATIC_C := 0
34# used clang?
45CL := 0
56# build with -m32?
@@ -21,17 +22,13 @@ ZLIB_OBJ := \
2122 zlib1.3.1/zutil.o
2223
2324ZIPPATCH_OBJ := \
24- src/patch/NewStream.o \
2525 src/patch/OldStream.o \
26- src/patch/Patcher.o \
2726 src/patch/ZipDiffData.o \
2827 src/patch/Zipper.o \
2928 HDiffPatch/libHDiffPatch/HPatch/patch.o \
3029 HDiffPatch/file_for_patch.o \
3130 HDiffPatch/libParallel/parallel_import.o \
3231 HDiffPatch/libParallel/parallel_channel.o \
33- lzma/C/LzmaDec.o \
34- lzma/C/Lzma2Dec.o \
3532 $(ZLIB_OBJ )
3633
3734APKNORM_OBJ := \
@@ -40,6 +37,12 @@ APKNORM_OBJ := \
4037 src/diff/DiffData.o \
4138 $(ZIPPATCH_OBJ )
4239
40+ ZIPPATCH_OBJ += \
41+ src/patch/NewStream.o \
42+ src/patch/Patcher.o \
43+ lzma/C/LzmaDec.o \
44+ lzma/C/Lzma2Dec.o
45+
4346ZIPDIFF_OBJ := \
4447 src/zip_diff.o \
4548 src/diff/DiffData.o \
@@ -68,39 +71,55 @@ ZIPDIFF_OBJ := \
6871 lzma/C/Threads.o \
6972 $(ZIPPATCH_OBJ )
7073
74+ ZIPPATCH_OBJ += src/zip_patch.o
75+
7176DEF_FLAGS := -O3 -DNDEBUG -D_IS_USED_MULTITHREAD=1 -D_IS_USED_CPP11THREAD=1
77+ ifeq ($(MINS ) ,0)
78+ else
79+ DEF_FLAGS += \
80+ -s \
81+ -Wno-error=format-security \
82+ -fvisibility=hidden \
83+ -ffunction-sections -fdata-sections \
84+ -ffat-lto-objects -flto
85+ CXXFLAGS += -fvisibility-inlines-hidden
86+ endif
7287CFLAGS += $(DEF_FLAGS )
7388CXXFLAGS += $(DEF_FLAGS ) -std=c++11
7489
75- LINK_LIB := -lpthread # link pthread
90+ DEF_LINK := -lpthread # link pthread
7691ifeq ($(M32 ) ,0)
7792else
78- LINK_LIB += -m32
93+ DEF_LINK += -m32
7994endif
8095ifeq ($(MINS ) ,0)
8196else
82- LINK_LIB += -Wl,--gc-sections,--as-needed
97+ DEF_LINK += -s -Wl,--gc-sections,--as-needed
98+ endif
99+ ifeq ($(STATIC_CPP ) ,0)
100+ DEF_LINK += -lstdc++
101+ else
102+ DEF_LINK += -static-libstdc++
103+ endif
104+ ifeq ($(STATIC_C ) ,0)
105+ else
106+ DEF_LINK += -static
83107endif
84108ifeq ($(CL ) ,1)
85109 CXX := clang++
86110 CC := clang
87111endif
88- ifeq ($(STATIC_CPP ) ,0)
89- LINK_LIB += -lstdc++
90- else
91- LINK_LIB += -static-libstdc++
92- endif
93112
94113.PHONY : all clean
95114
96115all : ApkNormalized ZipDiff ZipPatch
97116
98117ApkNormalized : $(APKNORM_OBJ )
99- $(CXX ) $(APKNORM_OBJ ) $(LINK_LIB ) -o ApkNormalized
118+ $(CXX ) $(APKNORM_OBJ ) $(DEF_LINK ) -o ApkNormalized
100119ZipDiff : $(ZIPDIFF_OBJ )
101- $(CXX ) $(ZIPDIFF_OBJ ) $(LINK_LIB ) -o ZipDiff
102- ZipPatch : src/zip_patch.o $(ZIPPATCH_OBJ )
103- $(CXX ) src/zip_patch.o $(ZIPPATCH_OBJ ) $(LINK_LIB ) -o ZipPatch
120+ $(CXX ) $(ZIPDIFF_OBJ ) $(DEF_LINK ) -o ZipDiff
121+ ZipPatch : $(ZIPPATCH_OBJ )
122+ $(CXX ) $(ZIPPATCH_OBJ ) $(DEF_LINK ) -o ZipPatch
104123
105124clean :
106- -rm -f ApkNormalized ZipDiff ZipPatch src/zip_patch.o $(ZIPDIFF_OBJ ) $(APKNORM_OBJ )
125+ -rm -f ApkNormalized ZipDiff ZipPatch $(ZIPDIFF_OBJ ) $( ZIPPATCH_OBJ ) $(APKNORM_OBJ )
0 commit comments