+ $(CC) -Ielf $(CFLAGS) -o $@ $+
+
+zpm-soneed: elf/needed.c
+ $(CC) -Ielf $(CFLAGS) -o $@ $+
+
+zpm-addfile: zpm-addfile.o libzpm.a libelf.a
+ $(CC) -Ielf $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+zpm-hash: zpm-hash.o libzpm.a
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+zpm-init: zpm-init.o libzpm.a
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+zpm-extract: zpm-extract.o libzpm.a
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+zpm-findpkg: zpm-findpkg.o libzpm.a
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lzpm -lelf
+
+newdb.c: db.sql
+ echo "char createdb[] = {" > $@
+ xxd -i < $< >> $@
+ echo ", 0};" >> $@
+
+sqlite/sqlite3.o: sqlite/sqlite3.c sqlite/config.h
+ $(CC) -Wall -std=c99 -Ilib -D_HAVE_SQLITE_CONFIG_H=1 -c -o $@ $<
+
+sqlite/shell.o: sqlite/shell.c sqlite/config.h
+ $(CC) -Wall -std=c99 -Ilib -D_HAVE_SQLITE_CONFIG_H=1 -c -o $@ $<
+
+$(LZMAOBJ):
+ $(CC) $(CFLAGS) $(LZMAFLAGS) -c -o $@ $*.c
+
+lib/zpm.o: newdb.c
+
+zpm-vercmp: zpm-vercmp.o lib/vercmp.o
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+
+
+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/vercmp.o \
+ lib/sha256.o \
+ $(LZMAOBJ)
+ ar rcuv $@ $?
+
+libelf.a: elf/libelf.o
+ ar rcuv $@ $?