autoconfiscate
[petitboot] / rules.mk
1
2 VPATH = $(srcdir)
3
4 # we need paths to be overridable at build-time
5 DEFS += '-DPREFIX="$(prefix)"' '-DPKG_SHARE_DIR="$(pkgdatadir)"'
6
7 parsers = native yaboot kboot
8 artwork = background.jpg cdrom.png hdd.png usbpen.png tux.png cursor.gz
9
10 petitboot_objs = petitboot.o devices.o
11
12 parser_objs = devices/params.o devices/parser.o devices/paths.o \
13               devices/yaboot-cfg.o \
14               $(foreach p,$(parsers),devices/$(p)-parser.o)
15
16 petitboot_udev_helper_objs = devices/petitboot-udev-helper.o $(parser_objs)
17 parser_test_objs = parser-test.o $(parser_objs)
18
19 all: petitboot petitboot-udev-helper
20
21 petitboot: LDFLAGS+=$(twin_LDFLAGS)
22 petitboot: CFLAGS+=$(twin_CFLAGS)
23
24 petitboot: $(petitboot_objs)
25         $(LINK.o) -o $@ $^
26
27 petitboot-udev-helper: $(petitboot_udev_helper_objs)
28         $(LINK.o) -o $@ $^
29
30 parser-test: $(parser_test_objs)
31         $(LINK.o) -o $@ $^
32
33 petitboot-udev-helper: CFLAGS+=-I$(top_srcdir)
34
35 install: all
36         $(INSTALL) -D petitboot $(DESTDIR)$(sbindir)/petitboot
37         $(INSTALL) -D petitboot-udev-helper \
38                 $(DESTDIR)$(sbindir)/petitboot-udev-helper
39         $(INSTALL) -Dd $(DESTDIR)$(pkgdatadir)/artwork/
40         $(INSTALL) -t $(DESTDIR)$(pkgdatadir)/artwork/ \
41                 $(foreach a,$(artwork),$(top_srcdir)/artwork/$(a))
42
43 dist:   $(PACKAGE)-$(VERSION).tar.gz
44
45 check:  parser-test
46         devices/parser-test.sh
47
48 distcheck: dist
49         tar -xvf $(PACKAGE)-$(VERSION).tar.gz
50         cd $(PACKAGE)-$(VERSION) && make check
51
52 $(PACKAGE)-$(VERSION).tar.gz: $(PACKAGE)-$(VERSION)
53         tar czvf $@ $^
54
55 $(PACKAGE)-$(VERSION): clean
56         for f in $$(git-ls-files); do \
57                 d=$@/$$(dirname $$f); \
58                 mkdir -p $$d; \
59                 cp -a $$f $$d; \
60         done
61 clean:
62         rm -rf $(PACKAGE)-$(VERSION)
63         rm -f petitboot
64         rm -f petitboot-udev-helper
65         rm -f *.o devices/*.o