shithub: choc

Download patch

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: