]> pd.if.org Git - zpackage/blob - Makefile
fixup tests
[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 -D_POSIX_C_SOURCE=1
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: libzpm.a
9 d:
10         printf '%s\n' $(LZMAOBJ)
11
12 test: zpm-addfile
13         prove -e'' t/*.t
14
15 programs: elftype soname zpm-addfile zpm-extract
16
17 uncompress: uncompress.o 
18         $(CC) $(CFLAGS) -o $@ $+ -llzma -lsqlite3
19
20 elftype: elf/elftype.c
21         $(CC) $(CFLAGS) -o $@ $+
22
23 soname: elf/soname.c
24         $(CC) $(CFLAGS) -o $@ $+
25
26 zpm-addfile: zpm-addfile.o libzpm.a
27         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lsqlite3 -lzpm
28
29 zpm-extract: zpm-extract.o libzpm.a
30         $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< -lsqlite3 -llzma -lzpm
31
32 newdb.c: db.sql
33         echo "char createdb[] = {" > $@
34         xxd -i < $< >> $@
35         echo ", 0};" >> $@
36
37
38 libzpm.a: lib/sha256.o lib/db.o lib/compress.o lib/uncompress.o newdb.o lib/zpm.o \
39         sqlite3.o \
40         $(LZMAOBJ)
41         ar rcuv $@ $+
42
43 install: elftype
44         install -D zpm $(DESTDIR)/bin/zpm
45         install -D zpm-note $(DESTDIR)/bin/zpm-note
46         install -D zpm-bug $(DESTDIR)/bin/zpm-bug
47         install -D zpm-sequence $(DESTDIR)/bin/zpm-sequence
48         install -D zpm-preserve $(DESTDIR)/bin/zpm-preserve
49         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin
50         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes
51         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes/open
52         install -d -m2770 -o root -g adm $(DESTDIR)/var/lib/admin/notes/ack
53         install -D elftype $(DESTDIR)/usr/sbin/elftype
54         install -D soname $(DESTDIR)/usr/sbin/soname
55         #SPOOL=$(DESTDIR)/var/lib/admin/notes ./zpm-sequence -c notes
56
57 clean:
58         rm -f *.o lib/*.o $(LZMAOBJ) liblzma.a zpm-addfile