From 2aa67575353d6b4e5a8411c69d96fabe80af41fc Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Wed, 22 May 2019 15:56:31 +0200 Subject: [PATCH] New make targets: exe, build-arch, man and build-indep. It's good practice to provide separate make targets for generating arch-dependent files (e.g., executables) and for arch-independent files (e.g., manual pages). Currently there is only one file of either type which gets installed by the make target, but this might change. --- Makefile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index bc6a7a5..66f0470 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,11 @@ cc_version := $(shell $(CC) --version | head -n 1) build_date := $(shell date) uname_rs := $(shell uname -rs) -all := tfortune tfortune.6.gz -all: $(all) +exe := tfortune +man := tfortune.6.gz +all: $(man) $(exe) +man build-indep: $(man) +exe build-arch: $(exe) deps := txp.bison.d txp.flex.d ast.d tfortune.d util.d txp.flex.d \ tfortune.lsg.d version.d linhash.d @@ -179,12 +182,12 @@ tfortune: $(deps:.d=.o) $(CC) $^ -o $@ $(TF_LDFLAGS) $(LDFLAGS) .PHONY: all mostlyclean clean distclan maintainer-clean install \ - install-strip README + install-strip README exe build-arch man build-indep mostlyclean: - $(RM) tfortune *.o *.d + $(RM) $(exe) *.o *.d clean: mostlyclean - $(RM) *.lsg.* *.flex.* *.bison.* *.6.gz *.suite + $(RM) *.lsg.* *.flex.* *.bison.* $(man) *.suite distclean: clean $(RM) config.mak config.status config.log config.h config.h.in \ version.c configure.sh @@ -202,8 +205,8 @@ endif install install-strip: all $(MKDIR_P) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir) - $(INSTALL_PROGRAM) $(strip_option) tfortune $(DESTDIR)$(bindir) - $(INSTALL_DATA) tfortune.6.gz $(DESTDIR)$(mandir) + $(INSTALL_PROGRAM) $(strip_option) $(exe) $(DESTDIR)$(bindir) + $(INSTALL_DATA) $(man) $(DESTDIR)$(mandir) define README := tfortune - $(SLOGAN) @@ -224,8 +227,8 @@ Resources Documentation ~~~~~~~~~~~~~ -See tfortune.suite. Or build the man page with \"make tfortune.6.gz\" -and run \"man -l tfortune.6.gz\". +See tfortune.suite. Or build the man page with \"make man\" +and run \"man -l $(man)\". Dependencies ~~~~~~~~~~~~ -- 2.39.5