前言:本文是对之前apk增量更新文章的补充内容,单独拎出来梳理一下bsdiff在mac上的编译和使用。下面的介绍流程就是我在自己电脑的操作实现步骤。
第一步:下载
下载请点击:bsdiff/bspatch压缩包
第二步:编译
先解压下载的bsdiff-4.3.tar.gz压缩包;
再进入bsdiff-4.3目录,在终端下执行构建用 make 命令;
此时应该会报错: Makefile:13: *** missing separator. Stop.
这是makefile文件的内容的格式不对,修改Makefile文件,修改后的文件内容如下:
CFLAGS += -O3 -lbz2
PREFIX ?= /usr/local
INSTALL_PROGRAM ?= ${INSTALL} -c -s -m 555
INSTALL_MAN ?= ${INSTALL} -c -m 444
all: bsdiff bspatch
bsdiff: bsdiff.c
bspatch: bspatch.c
install:
${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin
.ifndef WITHOUT_MAN
${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1
.endif
即在 .ifndef WITHOUT_MAN、 .endi语句前面加TAB键进行缩进。
然后再执行make,此时又报错:
bspatch.c:39:21: error: unknown type name 'u_char'; did