LZMASRC=$(shell ls lzma/lzma/*.c lzma/common/*.c lzma/lz/*.c) $(LZMACHECKSRC) lzma/rangecoder/price_table.c
LZMAOBJ=$(filter-out lzma/common/stream_encoder_mt.o, $(LZMASRC:%.c=%.o))
-lzmaupdate:
- find xz/src/liblzma -type d -name .deps -prune \
- -o -type f -printf '%P\n' \
- | xargs -IZ echo Z Z Z \
- | xargs printf 'test -e lzma/%s && cp xz/src/liblzma/%s lzma/%s\n' \
- | sh
+JSWSRC=lib/jsw/jsw_avltree.c \
+lib/jsw/jsw_atree.c \
+lib/jsw/jsw_hlib.c \
+lib/jsw/jsw_rbtree.c
-#lzma/lz/lz_decoder.o: lzma/lz/lz_decoder.c
-#lzma/lz/lz_encoder.o: lzma/lz/lz_encoder.c
-
-lzma/%.o: lzma/%.c
- $(CC) $(CFLAGS) $(LZMAFLAGS) -c -o $@ $<
+JSWOBJ=$(JSWSRC:%.c=%.o)
+LIBZPMSRC=sha256.c db.c compress.c uncompress.c zpm.c zpm_hash.c \
+ foreach_path.c vercmp.o findpkg.c quote.c
-lib/liblzma.a: $(LZMAOBJ)
- ar rcuv $@ $?
+LIBZPMOBJ=$(addprefix lib/, $(LIBZPMSRC:%.c=%.o))
curdir=$(shell pwd)
ZPKGBIN=zpm-addfile zpm-extract zpm-init zpm-vercmp zpm-stat zpm-hash \
- zpm-findpkg zpm-shell zpm-soneed
+ zpm-findpkg zpm-shell zpm-soneed zpm-foreach-path
SCRIPTS=zpm zpm-install zpm-merge zpm-list zpm-preserve zpm-test zpm-log \
zpm-contents
printf '%s\n' $(LZMAOBJ)
printf '%s\n' $(PATH)
+libzpm.a: $(LIBZPMOBJ) sqlite/sqlite3.o \
+ $(LZMAOBJ) \
+ $(JSWOBJ)
+ ar rcuv $@ $?
+
package: zpm-$(ZPMVER)-1.zpm
+lzmaupdate:
+ find xz/src/liblzma -type d -name .deps -prune \
+ -o -type f -printf '%P\n' \
+ | xargs -IZ echo Z Z Z \
+ | xargs printf 'test -e lzma/%s && cp xz/src/liblzma/%s lzma/%s\n' \
+ | sh
+
+#lzma/lz/lz_decoder.o: lzma/lz/lz_decoder.c
+#lzma/lz/lz_encoder.o: lzma/lz/lz_encoder.c
+
+lzma/%.o: lzma/%.c
+ $(CC) $(CFLAGS) $(LZMAFLAGS) -c -o $@ $<
+
+lib/liblzma.a: $(LZMAOBJ)
+ ar rcuv $@ $?
+
+lib/libjsw.a: $(JSWOBJ)
+ ar rcuv $@ $?
+
ZPM:= ./zpm -P scripts:bin:.
zpm-$(ZPMVER)-1.zpm: programs
zpm-extract: zpm-extract.o libzpm.a
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+zpm-foreach-path.o: CFLAGS+=-Wno-unused
+
+zpm-foreach-path: zpm-foreach-path.o libzpm.a sqlite/sqlite3.h
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
zpm-findpkg: zpm-findpkg.o libzpm.a
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+zpm-quote: zpm-quote.o libzpm.a
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
newdb.c: db.sql
echo "char createdb[] = {" > $@
xxd -i < $< >> $@
zpm-shell: sqlite/sqlite3.o sqlite/shell.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+
-libzpm.a: lib/sha256.o lib/db.o lib/compress.o lib/uncompress.o lib/zpm.o \
- sqlite/sqlite3.o lib/zpm_hash.o \
- lib/foreach_path.o \
- lib/vercmp.o \
- lib/sha256.o \
- $(LZMAOBJ)
- ar rcuv $@ $?
libelf.a: elf/libelf.o
ar rcuv $@ $?
clean:
rm -f *.o sqlite/*.o lib/*.o $(LZMAOBJ) liblzma.a \
libelf.a libzpm.a zpm-addfile soname \
- *.xz *.zpm \
+ *.xz \
local.db t/ctap/prove.o
tmpinstall: