From: ian Date: Sun, 18 Apr 1999 17:48:17 +0000 (+0000) Subject: Try to make close to GNU Standards for Makefile targets. X-Git-Tag: debian_version_0_61_2~3 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=commitdiff_plain;h=d3fc0b07114cea6ab2294bc6ce377bdc752a059d Try to make close to GNU Standards for Makefile targets. --- diff --git a/Makefile.in b/Makefile.in index 88d8bb5..c6d66b9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -30,41 +30,67 @@ M4FLAGS= LEX=flex CWD=$(shell pwd) +INSTALL_GROUP=root +INSTALL_FLAGS=-u root -g $(INSTALL_GROUP) + INSTALL=@INSTALL@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ -INSTALL_DATA=@INSTALL_DATA@ +INSTALL_PROGRAM=@INSTALL_PROGRAM@ $(INSTALL_FLAGS) +INSTALL_DATA=@INSTALL_DATA@ $(INSTALL_FLAGS) prefix=@prefix@ exec_prefix=$(prefix) bindir=$(exec_prefix)/bin sbindir=$(exec_prefix)/sbin etcdir=/etc etcsubdir=$(etcdir)/userv +docdir=$(prefix)/userv + +TARGETS= daemon client +TARGETS_DOC_PS= spec.ps overview.ps +TARGETS_DOC= spec.html $(TARGETS_DOC_PS) SOURCES= Makefile.in configure.in acconfig.h \ client.c common.h \ overlord.c process.c servexec.c \ daemon.h debug.c parser.c lib.c lib.h \ language.i4 lexer.l.m4 tokens.h.m4 + ALSOSHIP= README INSTALL Changelog COPYING \ system.default system.override \ spec.sgml.in overview.fig overview.ps \ buildship install-sh .cvsignore -GENSHIP= lexer.l lexer.c tokens.h configure config.h.in \ - spec.sgml spec.html spec.ps overview.ps + +GENSHIP_CLEAN= pcsum.h lexer.l lexer.c tokens.h config.h.in spec.sgml $(TARGETS_DOC) +GENSHIP= $(GENSHIP_CLEAN) configure SHIPTARGETS= $(SOURCES) $(ALSOSHIP) $(GENSHIP) -all: daemon client +all: $(TARGETS) + +docs: $(TARGETS_DOC) install: all - $(INSTALL_PROGRAM) -s -o root -g root -m 755 daemon $(sbindir)/uservd - $(INSTALL_PROGRAM) -s -o root -g root -m 4755 client $(bindir)/userv - $(INSTALL) -d -o root -g root -m 2755 $(etcsubdir) \ + $(INSTALL_PROGRAM) -m 755 daemon $(sbindir)/uservd + $(INSTALL_PROGRAM) -m 4755 client $(bindir)/userv + $(INSTALL) -d -m 2755 $(etcsubdir) \ $(etcsubdir)/default.d $(etcsubdir)/services.d $(etcsubdir)/override.d - if test ! -f $(etcsubdir)/system.default; then \ - $(INSTALL_DATA) -o root -g root system.default $(etcsubdir); fi + if test ! -f $(etcsubdir)/system.default; then + $(INSTALL_DATA) system.default $(etcsubdir); fi if test ! -f $(etcsubdir)/system.override; then \ - $(INSTALL_DATA) -o root -g root system.override $(etcsubdir); fi + $(INSTALL_DATA) system.override $(etcsubdir); fi + +install-strip: + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install + +install-doc: $(TARGETS_DOC) + $(INSTALL) -d -m 2755 $(docdir) $(docdir)/spec.html + $(INSTALL_DATA) -m 644 $(TARGETS_DOC_PS) $(docdir)/. + $(INSTALL_DATA) -m 644 spec.html/*.html $(docdir)/spec.html/. + +uninstall: + rm -f $(bindir)/userv $(sbindir)/uservd + +uninstall-doc: + cd $docdir && rm -rf $(TARGETS_DOC) daemon: overlord.o process.o servexec.o parserlexer.o debug.o lib.o both.o $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) @@ -104,32 +130,29 @@ version.h: Makefile tokens.h: language.i4 -autoconf configure: - autoheader - autoconf - -clean: - rm -f daemon client pcsum.h +pcsum.h rm -f overview.eps rm -f spec.lout* spec.text* spec.sgml spec.sgml.new spec.ps?* rm -rf spec.html?* rm -f lout.li *.lix *.ldx config.cache rm -f *.o *~ core ./#*# -distclean: clean - rm -f config.status config.log Makefile config.h +autoconf configure: + autoheader + autoconf -realclean: distclean - rm -f spec.ps* spec.sgml spec.sgml.new - rm -f lexer.l lexer.c tokens.h overview.ps - rm -rf spec.html* +clean: + rm -rf $(TARGETS) *.o + +distclean mostlyclean: clean + rm -f config.status config.log Makefile config.h -totalclean: realclean - rm -f configure config.h.in +maintainer-clean: distclean + rm -rf $(GENSHIP_CLEAN) -shipprep: $(SHIPTARGETS) +dist-prep: $(SHIPTARGETS) -ship: $(SHIPTARGETS) +dist: $(SHIPTARGETS) rm -rf shipcheck mkdir -p shipcheck/userv-$(VERSION) cp -a $^ shipcheck/userv-$(VERSION)