ref: 08ad5553fdec448b9c7955583a9728354e5ea4eb
parent: 29e7b9d813046415ca385b8fcea4c39249f9e78e
author: Fabian Greffrath <[email protected]>
date: Mon Jan 20 06:00:53 EST 2014
Some improvements to the build system 1) Instead of copying chocolate-setup into chocolate-{doom,heretic,hexen,strife}-setup, respectively, check in configure for symbolic linking and use that if available (falls back to "cp -pR" if not). 2) Add $(icons_DATA) to CLEANFILES so they get removed in clean phase; they are generated from doom-png and setup.png, respectively. 3) Consistently use @PROGRAM_PREFIX@ instead of the hard-coded "chocolate-" in the rules for the man pages. 4) Generate one man page for each setup program by symbolic linking of chocolate-setup.6 (see 1), add them to the list of installed man pages and to CLEANFILES. 5) Remove the redundant $(EXEEXT) suffix from the setup binaries (they were missing for execgames_PROGRAMS, anyway)
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,7 @@
AC_PROG_CC
AC_PROG_RANLIB
+AC_PROG_LN_S
AC_CHECK_PROG(HAVE_PYTHON, python, true, false)
OPT_LEVEL=2
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -19,3 +19,4 @@
@[email protected] : setup.png
cp setup.png $@
+CLEANFILES = $(icons_DATA)
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -16,32 +16,43 @@
if HAVE_PYTHON
GENERATED_MAN_PAGES = \
- chocolate-doom.6 \
+ @[email protected] \
default.cfg.5 \
- chocolate-doom.cfg.5 \
- chocolate-heretic.6 \
+ @[email protected] \
+ @[email protected] \
heretic.cfg.5 \
- chocolate-heretic.cfg.5 \
- chocolate-hexen.6 \
+ @[email protected] \
+ @[email protected] \
hexen.cfg.5 \
- chocolate-hexen.cfg.5 \
- chocolate-strife.6 \
+ @[email protected] \
+ @[email protected] \
strife.cfg.5 \
- chocolate-strife.cfg.5
+ @[email protected]
-man_MANS = chocolate-server.6 \
- chocolate-setup.6 \
- $(GENERATED_MAN_PAGES)
+SETUP_MAN_PAGES = \
+ @[email protected] \
+ @[email protected] \
+ @[email protected] \
+ @[email protected]
+man_MANS = @[email protected] \
+ @[email protected] \
+ $(GENERATED_MAN_PAGES) \
+ $(SETUP_MAN_PAGES)
+
doomdocs_DATA = INSTALL.doom CMDLINE.doom
hereticdocs_DATA = INSTALL.heretic CMDLINE.heretic
hexendocs_DATA = INSTALL.hexen CMDLINE.hexen
strifedocs_DATA = INSTALL.strife CMDLINE.strife
-CLEANFILES = $(GENERATED_MAN_PAGES) $(doomdocs_DATA) $(hereticdocs_DATA) \
+CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \
+ $(doomdocs_DATA) $(hereticdocs_DATA) \
$(hexendocs_DATA) $(strifedocs_DATA)
-chocolate-doom.6: ../src $(MANPAGE_GEN_FILES)
+$(SETUP_MAN_PAGES): @[email protected]
+ $(LN_S) $< $@
+
+@[email protected]: ../src $(MANPAGE_GEN_FILES)
./docgen -g doom -m doom.template ../src ../src/doom > $@
default.cfg.5: ../src default.cfg.template
@@ -48,7 +59,7 @@
./docgen -g doom -m default.cfg.template \
-c default ../src/m_config.c > $@
-chocolate-doom.cfg.5: ../src extra.cfg.template
+@[email protected]: ../src extra.cfg.template
./docgen -g doom -m extra.cfg.template \
-c extended ../src/m_config.c > $@
@@ -59,7 +70,7 @@
./simplecpp -DDOOM -DPRECOMPILED < INSTALL.template > $@
-chocolate-heretic.6: ../src $(MANPAGE_GEN_FILES)
+@[email protected]: ../src $(MANPAGE_GEN_FILES)
./docgen -g heretic -m heretic.template ../src ../src/heretic > $@
heretic.cfg.5: ../src default.cfg.template
@@ -66,7 +77,7 @@
./docgen -g heretic -m default.cfg.template \
-c default ../src/m_config.c > $@
-chocolate-heretic.cfg.5: ../src extra.cfg.template
+@[email protected]: ../src extra.cfg.template
./docgen -g heretic -m extra.cfg.template \
-c extended ../src/m_config.c > $@
@@ -77,7 +88,7 @@
./simplecpp -DHERETIC -DPRECOMPILED < INSTALL.template > $@
-chocolate-hexen.6: ../src $(MANPAGE_GEN_FILES)
+@[email protected]: ../src $(MANPAGE_GEN_FILES)
./docgen -g hexen -m hexen.template ../src ../src/hexen > $@
hexen.cfg.5: ../src default.cfg.template
@@ -84,7 +95,7 @@
./docgen -g hexen -m default.cfg.template \
-c default ../src/m_config.c > $@
-chocolate-hexen.cfg.5: ../src extra.cfg.template
+@[email protected]: ../src extra.cfg.template
./docgen -g hexen -m extra.cfg.template \
-c extended ../src/m_config.c > $@
@@ -95,7 +106,7 @@
./simplecpp -DHEXEN -DPRECOMPILED < INSTALL.template > $@
-chocolate-strife.6: ../src $(MANPAGE_GEN_FILES)
+@[email protected]: ../src $(MANPAGE_GEN_FILES)
./docgen -g strife -m strife.template ../src ../src/strife > $@
strife.cfg.5: ../src default.cfg.template
@@ -102,7 +113,7 @@
./docgen -g strife -m default.cfg.template \
-c default ../src/m_config.c > $@
-chocolate-strife.cfg.5: ../src extra.cfg.template
+@[email protected]: ../src extra.cfg.template
./docgen -g strife -m extra.cfg.template \
-c extended ../src/m_config.c > $@
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,15 +7,14 @@
@PROGRAM_PREFIX@heretic \
@PROGRAM_PREFIX@hexen \
@PROGRAM_PREFIX@strife \
- @PROGRAM_PREFIX@server
+ @PROGRAM_PREFIX@server \
+ @PROGRAM_PREFIX@setup
-noinst_PROGRAMS = @PROGRAM_PREFIX@setup
+SETUP_BINARIES = @PROGRAM_PREFIX@doom-setup \
+ @PROGRAM_PREFIX@heretic-setup \
+ @PROGRAM_PREFIX@hexen-setup \
+ @PROGRAM_PREFIX@strife-setup
-SETUP_BINARIES = @PROGRAM_PREFIX@doom-setup$(EXEEXT) \
- @PROGRAM_PREFIX@heretic-setup$(EXEEXT) \
- @PROGRAM_PREFIX@hexen-setup$(EXEEXT) \
- @PROGRAM_PREFIX@strife-setup$(EXEEXT)
-
execgames_SCRIPTS = $(SETUP_BINARIES)
AM_CFLAGS = -I$(top_builddir)/textscreen \
@@ -184,8 +183,8 @@
@PROGRAM_PREFIX@strife_LDADD = strife/libstrife.a $(EXTRA_LIBS)
-$(SETUP_BINARIES): @PROGRAM_PREFIX@setup$(EXEEXT)
- cp $< $@
+$(SETUP_BINARIES): @PROGRAM_PREFIX@setup
+ $(LN_S) $< $@
# Source files needed for chocolate-setup: