diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 41 |
1 files changed, 35 insertions, 6 deletions
@@ -20,18 +20,47 @@ CFLAGS += -fstack-protector CFLAGS += -O2 CPPFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -all: freenect-server multipart-replace-http-server +all: build .PHONY: all -freenect-server: util.o -lfreenect -lusb-1.0 -ljpeg -multipart-replace-http-server: util.o wg.o multipart-replace.o -lpthread +include config.mk + +progs = freenect-server multipart-replace-http-server +units = freenect-server-http.service freenect-server-http.socket freenect-server.service freenect-server@.socket + +build: $(addprefix src/,$(progs)) $(addprefix systemd/,$(units)) +.PHONY: build + +src/freenect-server: src/util.o -lfreenect -lusb-1.0 -ljpeg +src/multipart-replace-http-server: src/util.o src/wg.o src/multipart-replace.o -lpthread +systemd/freenect-server-http.service: .var.user .var.group .var.bindir +systemd/freenect-server-http.socket: .var.httpstream +systemd/freenect-server.service: .var.user .var.group .var.bindir +systemd/freenect-server@.socket: .var.user .var.group + +systemd/%: systemd/%.in + sed $(foreach v,$(patsubst .var.%,%,$(filter .var.%,$^)), -e 's|@$v@|$($v)|' ) < $< > $@ + +.var.%: FORCE + @printf '%s' '$($*)' | ./write-ifchanged $@ + +install: $(addprefix $(DESTDIR)$(bindir)/,$(progs)) $(addprefix $(DESTDIR)$(systemddir)/,$(units)) + +$(DESTDIR)$(bindir)/%: src/% + install -Dm755 $< $@ + +$(DESTDIR)$(systemddir)/%: systemd/% + install -Dm644 $< $@ clean: - rm -f -- *.o .*.mk freenect-server freenect-server--kinect multipart-replace-http-server + rm -f -- src/*.o src/.*.mk + rm -f -- src/freenect-server src/multipart-replace-http-server + rm -f -- systemd/*.socket systemd/*.service .PHONY: clean +.PHONY: FORCE .DELETE_ON_ERROR: .SECONDARY: -CPPFLAGS += -MD -MF ${@:%.o=.%.mk} -MP --include .*.mk +CPPFLAGS += -MD -MF $(@D)/$(@F:%.o=.%.mk) -MP +-include src/.*.mk |