X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=Makefile;h=2da6f86492f37400349e957149bb5622a7c1d3cd;hp=b0a92ea420074af9c956585e6ebc7aadaebfe7d5;hb=a3aad20c4c55f14e5ac8061ca0ec30d1762c2fd0;hpb=f60d0b2e7dbd9d85980866c68d0f87b6bc823663 diff --git a/Makefile b/Makefile index b0a92ea..2da6f86 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,65 @@ +PREFIX?=/usr +VERSION=0.2 +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 = $(TWIN_LDFLAGS) -CFLAGS = -O0 -ggdb -Wall $(TWIN_CFLAGS) +LDFLAGS = +CFLAGS = --std=gnu99 -O0 -ggdb -Wall '-DPREFIX="$(PREFIX)"' -OBJFILES = petitboot.o devices.o +PARSERS = native yaboot kboot +ARTWORK = background.jpg cdrom.png hdd.png usbpen.png tux.png cursor.gz -petitboot: $(OBJFILES) +all: petitboot petitboot-udev-helper + +petitboot: petitboot.o devices.o + $(CC) $(LDFLAGS) -o $@ $^ + +petitboot: LDFLAGS+=$(TWIN_LDFLAGS) +petitboot: CFLAGS+=$(TWIN_CFLAGS) + +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 $@ $^ +devices/%: CFLAGS+=-I. + +install: all + $(INSTALL) -D petitboot $(DESTDIR)$(PREFIX)/sbin/petitboot + $(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 + 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 *.o + rm -f petitboot-udev-helper + rm -f *.o devices/*.o