UNPKG

react-native-update

Version:
158 lines (136 loc) 4.02 kB
# args DIR_DIFF := 1 MT := 1 LZMA := 1 MD5 := 0 HPATCH_OBJ := \ libHDiffPatch/HPatch/patch.o \ file_for_patch.o ifeq ($(DIR_DIFF),0) else HPATCH_OBJ += \ dirDiffPatch/dir_patch/dir_patch.o \ dirDiffPatch/dir_patch/res_handle_limit.o \ dirDiffPatch/dir_patch/ref_stream.o \ dirDiffPatch/dir_patch/new_stream.o \ dirDiffPatch/dir_patch/dir_patch_tools.o \ dirDiffPatch/dir_patch/new_dir_output.o \ libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.o endif HDIFF_OBJ := \ libHDiffPatch/HDiff/diff.o \ libHDiffPatch/HDiff/private_diff/bytes_rle.o \ libHDiffPatch/HDiff/private_diff/suffix_string.o \ libHDiffPatch/HDiff/private_diff/compress_detect.o \ libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.o \ libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.o \ libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.o \ libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.o \ libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.o \ $(HPATCH_OBJ) ifeq ($(DIR_DIFF),0) else HDIFF_OBJ += \ dirDiffPatch/dir_diff/dir_diff.o \ dirDiffPatch/dir_diff/dir_diff_tools.o \ dirDiffPatch/dir_diff/dir_manifest.o endif ifeq ($(MT),0) else HDIFF_OBJ += \ libParallel/parallel_import.o \ libParallel/parallel_channel.o \ compress_parallel.o endif DEF_FLAGS := \ -Os -DNDEBUG -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ -D_IS_NEED_ALL_CompressPlugin=0 \ -D_IS_NEED_DEFAULT_CompressPlugin=0 \ -D_CompressPlugin_zlib \ -D_CompressPlugin_bz2 \ -D_IS_NEED_ALL_ChecksumPlugin=0 \ -D_IS_NEED_DEFAULT_ChecksumPlugin=0 ifeq ($(DIR_DIFF),0) DEF_FLAGS += -D_IS_NEED_DIR_DIFF_PATCH=0 else DEF_FLAGS += \ -D_IS_NEED_DIR_DIFF_PATCH=1 \ -D_ChecksumPlugin_crc32 \ -D_ChecksumPlugin_fadler64 ifeq ($(MD5),0) else DEF_FLAGS += -D_ChecksumPlugin_md5 -I'../libmd5' endif endif ifeq ($(LZMA),0) else DEF_FLAGS += \ -D_CompressPlugin_lzma -I'../lzma/C' \ -D_CompressPlugin_lzma2 -I'../lzma/C' endif ifeq ($(MT),0) DEF_FLAGS += \ -D_7ZIP_ST \ -D_IS_USED_MULTITHREAD=0 else DEF_FLAGS += \ -D_IS_USED_MULTITHREAD=1 \ -D_IS_USED_PTHREAD=1 endif PATCH_LINK := -lz -lbz2 DIFF_LINK := $(PATCH_LINK) ifeq ($(MT),0) else DIFF_LINK += -lpthread endif CFLAGS += $(DEF_FLAGS) CXXFLAGS += $(DEF_FLAGS) .PHONY: all install clean all: md5Lib lzmaLib libhdiffpatch.a hdiffz hpatchz ifeq ($(DIR_DIFF),0) MD5_OBJ := md5Lib : else ifeq ($(MD5),0) MD5_OBJ := md5Lib : else MD5_OBJ := 'md5.o' md5Lib : # https://sourceforge.net/projects/libmd5-rfc https://github.com/sisong/libmd5 $(CC) -c $(CFLAGS) '../libmd5/md5.c' endif endif ifeq ($(LZMA),0) LZMA_DEC_OBJ := LZMA_OBJ := lzmaLib : else LZMA_DEC_OBJ := 'LzmaDec.o' 'Lzma2Dec.o' LZMA_OBJ := 'LzFind.o' 'LzmaEnc.o' 'Lzma2Enc.o' $(LZMA_DEC_OBJ) LZMA_SRC := '../lzma/C/LzFind.c' '../lzma/C/LzmaDec.c' '../lzma/C/LzmaEnc.c' \ '../lzma/C/Lzma2Dec.c' '../lzma/C/Lzma2Enc.c' ifeq ($(MT),0) else LZMA_OBJ += 'LzFindMt.o' 'MtCoder.o' 'MtDec.o' 'ThreadsP.o' LZMA_SRC += '../lzma/C/LzFindMt.c' '../lzma/C/MtCoder.c' \ '../lzma/C/MtDec.c' '../lzma/C/ThreadsP.c' endif lzmaLib: # https://github.com/sisong/lzma $(CC) -c $(CFLAGS) $(LZMA_SRC) endif libhdiffpatch.a: $(HDIFF_OBJ) $(AR) rcs $@ $^ hdiffz: $(CXX) hdiffz.cpp libhdiffpatch.a $(MD5_OBJ) $(LZMA_OBJ) $(CXXFLAGS) $(DIFF_LINK) -o hdiffz hpatchz: $(CC) hpatchz.c $(HPATCH_OBJ) $(MD5_OBJ) $(LZMA_DEC_OBJ) $(CFLAGS) $(PATCH_LINK) -o hpatchz RM := rm -f INSTALL_X := install -m 0755 INSTALL_BIN := $(DESTDIR)/usr/local/bin clean: $(RM) libhdiffpatch.a hdiffz hpatchz $(HDIFF_OBJ) $(MD5_OBJ) $(LZMA_OBJ) install: all $(INSTALL_X) hdiffz $(INSTALL_BIN)/hdiffz $(INSTALL_X) hpatchz $(INSTALL_BIN)/hpatchz uninstall: $(RM) $(INSTALL_BIN)/hdiffz $(INSTALL_BIN)/hpatchz