4 HOSTCXXFLAGS ?= $(CXXFLAGS)
5 HOSTLDFLAGS ?= $(LDFLAGS)
8 ifeq ($(BUILD_SHUTDOWN),yes)
12 dinit_objects = dinit.o load-service.o service.o proc-service.o baseproc-service.o control.o dinit-log.o \
13 dinit-main.o run-child-proc.o options-processing.o
15 objects = $(dinit_objects) dinitctl.o dinitcheck.o shutdown.o
17 all: dinit dinitctl dinitcheck $(SHUTDOWN)
19 # Look for a suitable build config file and use it.
22 if [ -f "../configs/mconfig.$$UNAME" ]; then \
23 echo "Found configuration for OS: $$UNAME"; \
24 ln -sf "configs/mconfig.$$UNAME" ../mconfig; \
26 echo "No config available. Please create suitable mconfig file."; \
29 includes/mconfig.h: mconfig-gen
30 ./mconfig-gen SBINDIR=$(SBINDIR) SYSCONTROLSOCKET=$(SYSCONTROLSOCKET) \
31 $(if $(USE_UTMPX),USE_UTMPX=$(USE_UTMPX),) > includes/mconfig.h
33 mconfig-gen: mconfig-gen.cc ../mconfig
34 $(HOSTCXX) $(HOSTCXXOPTS) -o mconfig-gen mconfig-gen.cc $(HOSTLDFLAGS)
36 $(objects): includes/mconfig.h
38 dinit: $(dinit_objects)
39 $(CXX) -o dinit $(dinit_objects) $(LDFLAGS)
42 $(CXX) -o dinitctl dinitctl.o $(LDFLAGS)
44 dinitcheck: dinitcheck.o options-processing.o
45 $(CXX) -o dinitcheck dinitcheck.o options-processing.o $(LDFLAGS)
48 $(CXX) -o shutdown shutdown.o $(LDFLAGS)
51 $(CXX) $(CXXOPTS) -MMD -MP -Iincludes -Idasynq -c $< -o $@
54 $(MAKE) -C tests check
56 check-igr: dinit dinitctl dinitcheck
57 $(MAKE) -C igr-tests check-igr
60 cppcheck --std=c++11 -Iincludes -Idasynq --force --enable=all *.cc 2>../cppcheck-report.txt
63 install -d $(DESTDIR)$(SBINDIR)
64 install $(STRIPOPTS) dinit dinitctl $(SHUTDOWN) $(DESTDIR)$(SBINDIR)
65 ifeq ($(BUILD_SHUTDOWN),yes)
66 ln -f $(DESTDIR)$(SBINDIR)/shutdown $(DESTDIR)$(SBINDIR)/halt
67 ln -f $(DESTDIR)$(SBINDIR)/shutdown $(DESTDIR)$(SBINDIR)/reboot
72 rm -f dinit dinitctl shutdown mconfig-gen
73 rm -f includes/mconfig.h
74 $(MAKE) -C tests clean
75 $(MAKE) -C igr-tests clean
77 -include $(objects:.o=.d)