4 CPPFLAGS += -I$(top_srcdir) -I$(top_srcdir)/lib -I$(builddir)
7 # we need paths to be overridable at build-time
8 DEFS += '-DPREFIX="$(prefix)"' '-DPKG_SHARE_DIR="$(pkgdatadir)"' \
9 '-DLOCAL_STATE_DIR="$(localstatedir)"'
12 pb_discover = discover/pb-discover
13 pb_cui = ui/ncurses/pb-cui
14 pb_test = ui/test/pb-test
15 pb_twin = ui/twin/pb-twin
16 parser_test = test/parser-test
18 # install targets and components
19 daemons = $(pb_discover)
20 parsers = kboot yaboot
22 tests = $(parser_test)
29 artwork = background.jpg cdrom.png hdd.png usbpen.png tux.png cursor.gz
30 rules = utils/99-petitboot.rules
32 # client/daemon lib objs
33 list_objs = lib/list/list.o
34 log_objs = lib/log/log.o
35 protocol_objs = lib/pb-protocol/pb-protocol.o
36 talloc_objs = lib/talloc/talloc.o
37 waiter_objs = lib/waiter/waiter.o
40 parser_objs = discover/parser.o discover/parser-conf.o discover/paths.o \
41 $(foreach p, $(parsers), discover/$(p)-parser.o)
42 discover_objs = discover/udev.o discover/discover-server.o \
43 discover/device-handler.o discover/paths.o discover/parser-utils.o
46 ui_common_objs = ui/common/discover-client.o
48 twin_objs = ui/twin/pb-twin.o
51 makefiles = Makefile $(top_srcdir)/rules.mk
54 lib_objs = $(list_objs) $(log_objs) $(protocol_objs) $(talloc_objs) \
57 daemon_objs = $(lib_objs) $(parser_objs) $(discover_objs)
59 client_objs = $(lib_objs) $(ui_common_objs)
61 all: $(uis) $(daemons)
64 pb_cui_objs = $(client_objs) $(ncurses_objs) ui/ncurses/ps3-cui.o
65 $(pb_cui_objs): $(makefiles)
67 $(pb_cui): LDFLAGS += -lncurses
69 $(pb_cui): $(pb_cui_objs)
73 pb_test_objs = $(client_objs) ui/test/pb-test.o
74 $(pb_test_objs): $(makefiles)
76 $(pb_test): $(pb_test_objs)
80 pb_twin_objs = $(client_objs) $(twin_objs) ui/twin/ps3-twin.o
81 $(pb_twin_objs): $(makefiles)
83 $(pb_twin): LDFLAGS+=$(twin_LDFLAGS) $(LIBTWIN)
84 $(pb_twin): CFLAGS+=$(twin_CFLAGS)
86 $(pb_twin): $(pb_twin_objs)
90 pb_discover_objs = $(daemon_objs) discover/pb-discover.o
91 $(pb_discover_objs): $(makefiles)
93 $(pb_discover): $(pb_discover_objs)
97 parser_test_objs = $(lib_objs) $(parser_objs) test/parser-test.o
98 $(parser_test_objs): $(makefiles)
100 $(parser_test): $(parser_test_objs)
103 parser-test: $(parser_test)
105 install: all $(rules)
106 $(INSTALL) -d $(DESTDIR)$(sbindir)/
107 $(INSTALL) $(daemons) $(uis) $(DESTDIR)$(sbindir)/
108 $(INSTALL) -d $(DESTDIR)$(pkgdatadir)/artwork/
109 $(INSTALL) $(addprefix $(top_srcdir)/ui/twin/artwork/,$(artwork)) \
110 $(DESTDIR)$(pkgdatadir)/artwork/
111 $(INSTALL) -d $(DESTDIR)$(pkgdatadir)/utils
112 $(INSTALL) -m 644 $(top_srcdir)/$(rules) $(DESTDIR)$(pkgdatadir)/utils
114 dist: $(PACKAGE)-$(VERSION).tar.gz
117 $(SHELL) test/parser-test.sh
120 tar -xvf $(PACKAGE)-$(VERSION).tar.gz
121 cd $(PACKAGE)-$(VERSION) && make check
123 $(PACKAGE)-$(VERSION).tar.gz: $(PACKAGE)-$(VERSION)
126 $(PACKAGE)-$(VERSION): clean
127 for f in $$(git --git-dir=$(top_srcdir)/.git ls-files); do \
128 d=$@/$$(dirname $$f); \
130 cp -a $(top_srcdir)/$$f $$d; \
134 rm -rf $(PACKAGE)-$(VERSION)
137 rm -f $(pb_test_objs)
138 rm -f $(pb_twin_objs)
140 rm -f $(pb_discover_objs)
142 rm -f $(parser_test_objs)
144 maintainer-clean: clean
145 -rm -f $(top_srcdir)/aclocal.m4
146 -rm -rf $(top_srcdir)/autom4te.cache
147 -rm -f $(top_srcdir)/config.h.in
148 -rm -f $(top_srcdir)/configure
153 -rm -f $(PACKAGE)-$(VERSION).tar.gz