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