Add root level Makefile, make "shutdown" be optionally built by "make all"
[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 dinitctl.o shutdown.o dinit-reboot.o
8
9 dinit_objects = dinit.o load_service.o service.o control.o dinit-log.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
21
22 dinit-reboot: dinit-reboot.o
23         $(CXX) -o dinit-reboot dinit-reboot.o   
24
25 $(objects): %.o: %.cc service.h dinit-log.h control.h control-cmds.h cpbuffer.h
26         $(CXX) $(CXXOPTS) -Idasynq -c $< -o $@
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
37         rm -f dinit dinitctl shutdown