3 ifeq ($(BUILD_SHUTDOWN),yes)
7 dinit_objects = dinit.o load-service.o service.o proc-service.o baseproc-service.o control.o dinit-log.o \
8 dinit-main.o run-child-proc.o
10 objects = $(dinit_objects) dinitctl.o shutdown.o
12 all: dinit dinitctl $(SHUTDOWN)
14 # Look for a suitable build config file and use it.
17 if [ -f "../configs/mconfig.$$UNAME" ]; then \
18 echo "Found configuration for OS: $$UNAME"; \
19 ln -sf "configs/mconfig.$$UNAME" ../mconfig; \
21 echo "No config available. Please create suitable mconfig file."; \
24 includes/mconfig.h: mconfig-gen
25 ./mconfig-gen SBINDIR=$(SBINDIR) SYSCONTROLSOCKET=$(SYSCONTROLSOCKET) > includes/mconfig.h
27 mconfig-gen: mconfig-gen.cc ../mconfig
28 $(CXX) $(CXXOPTS) -o mconfig-gen mconfig-gen.cc $(LDFLAGS)
30 $(dinit_objects): includes/mconfig.h
32 dinit: $(dinit_objects)
33 $(CXX) -o dinit $(dinit_objects) $(LDFLAGS)
36 $(CXX) -o dinitctl dinitctl.o $(LDFLAGS)
39 $(CXX) -o shutdown shutdown.o $(LDFLAGS)
42 $(CXX) $(CXXOPTS) -MMD -MP -Iincludes -Idasynq -c $< -o $@
45 $(MAKE) -C tests check
48 cppcheck --std=c++11 -Iincludes -Idasynq --force --enable=all *.cc 2>../cppcheck-report.txt
51 install -d $(DESTDIR)$(SBINDIR)
52 install -s dinit dinitctl $(SHUTDOWN) $(DESTDIR)$(SBINDIR)
53 ifeq ($(BUILD_SHUTDOWN),yes)
54 ln $(DESTDIR)$(SBINDIR)/shutdown $(DESTDIR)$(SBINDIR)/halt
55 ln $(DESTDIR)$(SBINDIR)/shutdown $(DESTDIR)$(SBINDIR)/reboot
60 rm -f dinit dinitctl shutdown mconfig-gen
61 rm -f includes/mconfig.h
62 $(MAKE) -C tests clean
64 -include $(objects:.o=.d)