Correct use of SOFT vs WAITS_FOR dependency type in various places.
[oweals/dinit.git] / src / Makefile
index b671fd50b0426338a9718b6c6c678e8bb68f225e..21c4cf630e5635be61cc030eb07ab0f73d6e7b48 100644 (file)
@@ -1,12 +1,14 @@
--include ../mconfig
+include ../mconfig
 
-objects = dinit.o load_service.o service.o control.o dinit-log.o dinitctl.o shutdown.o dinit-reboot.o
+ifeq ($(BUILD_SHUTDOWN),yes)
+  SHUTDOWN=shutdown
+endif
 
-dinit_objects = dinit.o load_service.o service.o control.o dinit-log.o
+objects = dinit.o load_service.o service.o control.o dinit-log.o dinit-main.o dinitctl.o shutdown.o
 
-all: dinit dinitctl
+dinit_objects = dinit.o load_service.o service.o control.o dinit-log.o dinit-main.o
 
-shutdown-utils: shutdown
+all: dinit dinitctl $(SHUTDOWN)
 
 dinit: $(dinit_objects)
        $(CXX) -o dinit $(dinit_objects) $(EXTRA_LIBS)
@@ -17,16 +19,25 @@ dinitctl: dinitctl.o
 shutdown: shutdown.o
        $(CXX) -o shutdown shutdown.o
 
-dinit-reboot: dinit-reboot.o
-       $(CXX) -o dinit-reboot dinit-reboot.o   
-
-$(objects): %.o: %.cc service.h dinit-log.h control.h control-cmds.h cpbuffer.h
+$(objects): %.o: %.cc
        $(CXX) $(CXXOPTS) -Idasynq -c $< -o $@
 
-#install: all
+check: $(dinit_objects)
+       $(MAKE) -C tests check
 
-#install.man:
+install: all
+       install -d $(DESTDIR)/sbin
+       install -s dinit dinitctl $(SHUTDOWN) $(DESTDIR)/sbin
+ifeq ($(BUILD_SHUTDOWN),yes)
+       install halt reboot $(DESTDIR)/sbin
+endif
 
 clean:
-       rm -f *.o
+       rm -f *.o *.d
        rm -f dinit dinitctl shutdown
+       $(MAKE) -C tests clean
+
+$(objects:.o=.d): %.d: %.cc
+       $(CXX) $(CXXOPTS) -Idasynq -MM -MG -MF $@ $<
+
+-include $(objects:.o=.d)