+PREFIX?=/usr
+VERSION=0.0.1
+PACKAGE=petitboot
CC=gcc
-TWIN_CFLAGS=$(shell pkg-config --cflags libtwin)
-TWIN_LDFLAGS=$(shell pkg-config --libs libtwin)
+INSTALL=install
+TWIN_CFLAGS?=$(shell pkg-config --cflags libtwin)
+TWIN_LDFLAGS?=$(shell pkg-config --libs libtwin)
LDFLAGS =
-CFLAGS = -O0 -ggdb -Wall
+CFLAGS = -O0 -ggdb -Wall '-DPREFIX="$(PREFIX)"'
-PARSERS = native
+PARSERS = native yaboot
+ARTWORK = background.jpg cdrom.png hdd.png usbpen.png cursor
all: petitboot udev-helper
petitboot: LDFLAGS+=$(TWIN_LDFLAGS)
petitboot: CFLAGS+=$(TWIN_CFLAGS)
-udev-helper: devices/udev-helper.o devices/params.o \
+udev-helper: devices/udev-helper.o devices/params.o devices/yaboot-cfg.o \
$(foreach p,$(PARSERS),devices/$(p)-parser.o)
$(CC) $(LDFLAGS) -o $@ $^
+devices/%: CFLAGS+=-I.
+
+install: all
+ $(INSTALL) -D petitboot $(DESTDIR)$(PREFIX)/sbin/petitboot
+ $(INSTALL) -D udev-helper $(DESTDIR)$(PREFIX)/sbin/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
+
+$(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 $@
+
clean:
rm -f petitboot
rm -f udev-helper