Makefile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. include ../mconfig
  2. include ../build/version.conf
  3. STRIPOPTS ?= -s
  4. ifeq ($(BUILD_SHUTDOWN),yes)
  5. SHUTDOWN=$(SHUTDOWN_PREFIX)shutdown
  6. endif
  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 options-processing.o
  9. objects = $(dinit_objects) dinitctl.o dinitcheck.o shutdown.o
  10. all: dinit dinitctl dinitcheck $(SHUTDOWN)
  11. ../mconfig:
  12. @echo "*** No mconfig, please run make from top level"
  13. @false
  14. $(objects): ../build/includes/mconfig.h
  15. dinit: $(dinit_objects)
  16. $(CXX) -o dinit $(dinit_objects) $(CXXOPTS) $(LDFLAGS)
  17. dinitctl: dinitctl.o
  18. $(CXX) -o dinitctl dinitctl.o $(CXXOPTS) $(LDFLAGS)
  19. dinitcheck: dinitcheck.o options-processing.o
  20. $(CXX) -o dinitcheck dinitcheck.o options-processing.o $(CXXOPTS) $(LDFLAGS)
  21. $(SHUTDOWNPREFIX)shutdown: shutdown.o
  22. $(CXX) -o $(SHUTDOWNPREFIX)shutdown shutdown.o $(CXXOPTS) $(LDFLAGS)
  23. $(objects): %.o: %.cc
  24. $(CXX) $(CXXOPTS) -MMD -MP -Iincludes -I../dasynq/include -I../build/includes -c $< -o $@
  25. check: ../build/includes/mconfig.h $(dinit_objects)
  26. $(MAKE) -C tests check
  27. check-igr: dinit dinitctl dinitcheck
  28. $(MAKE) -C igr-tests check-igr
  29. run-cppcheck:
  30. cppcheck --std=c++11 -Iincludes -Idasynq --force --enable=all *.cc 2>../cppcheck-report.txt
  31. install: all
  32. install -d $(DESTDIR)$(SBINDIR)
  33. install $(STRIPOPTS) dinit dinitctl dinitcheck $(SHUTDOWN) $(DESTDIR)$(SBINDIR)
  34. ifeq ($(BUILD_SHUTDOWN),yes)
  35. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)halt
  36. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)reboot
  37. ln -sf $(SHUTDOWN) $(DESTDIR)$(SBINDIR)/$(SHUTDOWNPREFIX)poweroff
  38. endif
  39. clean:
  40. rm -f *.o *.d
  41. rm -f dinit dinitctl dinitcheck shutdown
  42. $(MAKE) -C tests clean
  43. $(MAKE) -C igr-tests clean
  44. -include $(objects:.o=.d)