]> pd.if.org Git - zpackage/blob - Makefile
add extract test file
[zpackage] / Makefile
1 CFLAGS=-Wall -std=c99 -I. -Ilzma/api -Ilzma/tuklib -Ilzma/lzma -Ilzma/common -Ilzma/check -Ilzma/lz -Ilzma/rangecoder -Ilzma/simple -Ilzma/delta -DHAVE_CHECK_CRC64 -DHAVE_CHECK_CRC32 -DHAVE_ENCODER_LZMA2 -DHAVE_DECODER_LZMA2 -DHAVE_MF_BT4
2 LDFLAGS=-L.
3
4 LZMACHECKSRC=lzma/check/check.c lzma/check/crc32_fast.c lzma/check/crc64_fast.c lzma/check/crc32_table.c lzma/check/crc64_table.c
5 LZMASRC=$(shell ls lzma/lzma/*.c lzma/common/*.c lzma/lz/*.c) $(LZMACHECKSRC) lzma/rangecoder/price_table.c
6 LZMAOBJ=$(filter-out lzma/common/stream_encoder_mt.o, $(LZMASRC:%.c=%.o))
7
8 def: programs
9 d:
10         printf '%s\n' $(LZMAOBJ)
11
12 lzma.c: mklzma
13         sh mklzma
14
15 lzma.o: lzma.c
16         gcc -std=c99 -Wall -c -o $@ $<
17
18 test: zpm-addfile zpm-extract
19         prove -e '' t/*.t
20
21 programs: elftype soname zpm-addfile zpm-extract
22
23 uncompress: uncompress.o 
24         $(CC) $(CFLAGS) -o $@ $+ -llzma -lsqlite3
25
26 elftype: elf/elftype.c
27         $(CC) $(CFLAGS) -o $@ $+
28
29 soname: elf/soname.c
30         $(CC) -Ielf $(CFLAGS) -o $@ $+
31
32 zpm-addfile: zpm-addfile.o libzpm.a
33         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lsqlite3 -lzpm
34
35 zpm-extract: zpm-extract.o libzpm.a
36         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lsqlite3 -llzma -lzpm
37
38 newdb.c: db.sql
39         echo "char createdb[] = {" > $@
40         xxd -i < $< >> $@
41         echo ", 0};" >> $@
42
43
44 libzpm.a: lib/sha256.o lib/db.o lib/compress.o lib/uncompress.o newdb.o lib/zpm.o \
45         sqlite3.o \
46         $(LZMAOBJ)
47         ar rcuv $@ $+
48
49 install: elftype
50         install -D zpm $(DESTDIR)/bin/zpm
51         install -D zpm-note $(DESTDIR)/bin/zpm-note
52         install -D zpm-bug $(DESTDIR)/bin/zpm-bug
53         install -D zpm-sequence $(DESTDIR)/bin/zpm-sequence
54         install -D zpm-preserve $(DESTDIR)/bin/zpm-preserve
55         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin
56         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes
57         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes/open
58         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes/ack
59         install -D elftype $(DESTDIR)/usr/sbin/elftype
60         install -D soname $(DESTDIR)/usr/sbin/soname
61         #SPOOL=$(DESTDIR)/var/lib/admin/notes ./zpm-sequence -c notes
62
63 clean:
64         rm -f *.o lib/*.o $(LZMAOBJ) liblzma.a zpm-addfile soname