TWIN_CFLAGS?=$(shell pkg-config --cflags libtwin)
TWIN_LDFLAGS?=$(shell pkg-config --libs libtwin)
-LDFLAGS =
-CFLAGS = -O0 -ggdb -Wall '-DPREFIX="$(PREFIX)"'
+LDFLAGS =
+CFLAGS = --std=gnu99 -O0 -ggdb -Wall '-DPREFIX="$(PREFIX)"'
-PARSERS = native yaboot
-ARTWORK = background.png cdrom.png hdd.png usbpen.png cursor
+PARSERS = native yaboot kboot
+ARTWORK = background.jpg cdrom.png hdd.png usbpen.png tux.png cursor.gz
-all: petitboot udev-helper
+all: petitboot petitboot-udev-helper
petitboot: petitboot.o devices.o
$(CC) $(LDFLAGS) -o $@ $^
petitboot: LDFLAGS+=$(TWIN_LDFLAGS)
petitboot: CFLAGS+=$(TWIN_CFLAGS)
-udev-helper: devices/udev-helper.o devices/params.o devices/yaboot-cfg.o \
+petitboot-udev-helper: devices/petitboot-udev-helper.o devices/params.o \
+ devices/parser.o devices/paths.o devices/yaboot-cfg.o \
+ $(foreach p,$(PARSERS),devices/$(p)-parser.o)
+ $(CC) $(LDFLAGS) -o $@ $^
+
+parser-test: devices/parser-test.o devices/params.o devices/parser.o \
+ devices/paths.o devices/yaboot-cfg.o \
$(foreach p,$(PARSERS),devices/$(p)-parser.o)
$(CC) $(LDFLAGS) -o $@ $^
install: all
$(INSTALL) -D petitboot $(DESTDIR)$(PREFIX)/sbin/petitboot
- $(INSTALL) -D udev-helper $(DESTDIR)$(PREFIX)/sbin/udev-helper
+ $(INSTALL) -D petitboot-udev-helper \
+ $(DESTDIR)$(PREFIX)/sbin/petitboot-udev-helper
$(INSTALL) -Dd $(DESTDIR)$(PREFIX)/share/petitboot/artwork/
$(INSTALL) -t $(DESTDIR)$(PREFIX)/share/petitboot/artwork/ \
$(foreach a,$(ARTWORK),artwork/$(a))
dist: $(PACKAGE)-$(VERSION).tar.gz
+check: parser-test
+ devices/parser-test.sh
+
+distcheck: dist
+ tar -xvf $(PACKAGE)-$(VERSION).tar.gz
+ cd $(PACKAGE)-$(VERSION) && make check
+
$(PACKAGE)-$(VERSION).tar.gz: $(PACKAGE)-$(VERSION)
tar czvf $@ $^
$(PACKAGE)-$(VERSION): clean
- mkdir $@ $@/devices
- cp -a artwork $@
- cp *.[ch] $@
- cp -a devices/*.[ch] $@/devices/
- cp Makefile $@
-
+ for f in $$(git-ls-files); do \
+ d=$@/$$(dirname $$f); \
+ mkdir -p $$d; \
+ cp -a $$f $$d; \
+ done
clean:
+ rm -rf $(PACKAGE)-$(VERSION)
rm -f petitboot
- rm -f udev-helper
+ rm -f petitboot-udev-helper
rm -f *.o devices/*.o