Use _Pragma to turn off invalid-offsetof warnings at appropriate places.
[oweals/dinit.git] / src / Makefile
1 include ../mconfig
2
3 ifeq ($(BUILD_SHUTDOWN),yes)
4   SHUTDOWN=shutdown
5 endif
6
7 objects = dinit.o load_service.o service.o control.o dinit-log.o dinit-main.o dinitctl.o shutdown.o
8
9 dinit_objects = dinit.o load_service.o service.o control.o dinit-log.o dinit-main.o
10
11 all: dinit dinitctl $(SHUTDOWN)
12
13 dinit: $(dinit_objects)
14         $(CXX) -o dinit $(dinit_objects) $(EXTRA_LIBS)
15
16 dinitctl: dinitctl.o
17         $(CXX) -o dinitctl dinitctl.o $(EXTRA_LIBS)
18         
19 shutdown: shutdown.o
20         $(CXX) -o shutdown shutdown.o $(EXTRA_LIBS)
21
22 $(objects): %.o: %.cc
23         $(CXX) $(CXXOPTS) -Idasynq -c $< -o $@
24
25 check: $(dinit_objects)
26         $(MAKE) -C tests check
27
28 install: all
29         install -d $(DESTDIR)/sbin
30         install -s dinit dinitctl $(SHUTDOWN) $(DESTDIR)/sbin
31 ifeq ($(BUILD_SHUTDOWN),yes)
32         install halt reboot $(DESTDIR)/sbin
33 endif
34
35 clean:
36         rm -f *.o *.d
37         rm -f dinit dinitctl shutdown
38         $(MAKE) -C tests clean
39
40 $(objects:.o=.d): %.d: %.cc
41         $(CXX) $(CXXOPTS) -Idasynq -MM -MG -MF $@ $<
42
43 -include $(objects:.o=.d)