]> git.tuebingen.mpg.de Git - dss.git/blobdiff - Makefile
Avoid rebuilds of lopsub-generated files.
[dss.git] / Makefile
index d0721ed9c1067f031a336b49fb93cdb7f2666ff7..f2f9c9ab3aa0a7b99e039d00a4b41f937fadd9ec 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ INSTALL_PROGRAM ?= $(INSTALL)
 INSTALL_DATA ?= $(INSTALL) -m 644
 MKDIR_P := mkdir -p
 VERSION := $(shell ./version-gen.sh dss version.c)
+RM := rm -f
+LSG := lopsubgen
 
 units := dss str file exec sig daemon df tv snap ipc dss.lsg version
 objs := $(addsuffix .o, $(units))
@@ -47,22 +49,23 @@ dss: $(objs)
        $(call SAY, CC $<)
        $(CC) -c -o $@ $(DSS_CPPFLAGS) $(CPPFLAGS) $(DSS_CFLAGS) $(CFLAGS) \
                -MMD -MF $(*F).d -MT $@ $<
+.PRECIOUS: %.lsg.c %.lsg.h %.1.gz
 %.lsg.h: %.suite
        $(call SAY, LSGH $<)
-       lopsubgen --gen-h=$@ < $<
+       $(LSG) --gen-h=$@ < $<
 %.lsg.c: %.suite
        $(call SAY, LSGC $<)
-       lopsubgen --gen-c=$@ < $<
+       $(LSG) --gen-c=$@ < $<
 %.1: %.suite
        $(call SAY, LSGM $<)
-       lopsubgen --gen-man=$@ --version-string=$(VERSION) < $<
+       $(LSG) --gen-man=$@ --version-string=$(VERSION) < $<
 %.1.html: %.1
        $(call SAY, GROFF $<)
        groff -m man -Thtml -P -l -P -r $< | sed -e '1,/^<body>/d; /^<\/body>/,$$d' > $@
 
 clean:
        $(call SAY, CLEAM)
-       rm -f *.[od] dss dss.1 *.html dss.lsg.[ch] version.c
+       $(RM) *.[od] dss dss.1 *.html dss.lsg.[ch] version.c
 
 ifneq ($(findstring strip, $(MAKECMDGOALS)),)
        strip_option := -s