ref: b6ba5eb89afe488f66407562ff57da596e7c841e
parent: ba8400b38d8264fe28ec03f772348b288a6ed075
parent: d66659c6067ec18022718457bcf7c73145cf7b38
author: Simon Howard <[email protected]>
date: Fri Dec 26 13:02:34 EST 2014
Merge pull request #495 from WinterMute/build-outside-source-dir Allow building in subdirectory or outside source directory This one allows you to configure && make from a subdirectory or a directory outside the source tree. Useful for building several versions in the same tree for comparison.
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -14,9 +14,9 @@
@[email protected]
@[email protected] : doom.png
- cp doom.png $@
+ cp $(top_srcdir)/data/doom.png $@
@[email protected] : setup.png
- cp setup.png $@
+ cp $(top_srcdir)/data/setup.png $@
CLEANFILES = $(icons_DATA)
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -47,85 +47,87 @@
CLEANFILES = $(GENERATED_MAN_PAGES) $(SETUP_MAN_PAGES) \
$(doomdocs_DATA) $(hereticdocs_DATA) \
$(hexendocs_DATA) $(strifedocs_DATA)
+MANDIR = $(top_srcdir)/man
+DOCGEN = $(MANDIR)/docgen
$(SETUP_MAN_PAGES): chocolate-setup.6
cp $< $@
@[email protected]: ../src $(MANPAGE_GEN_FILES)
- ./docgen -g doom -m doom.template ../src ../src/doom > $@
+ $(DOCGEN) -g doom -m doom.template $(top_srcdir)/src $(top_srcdir)/src/doom > $@
-default.cfg.5: ../src default.cfg.template
- ./docgen -g doom -m default.cfg.template \
- -c default ../src/m_config.c > $@
+default.cfg.5: $(top_srcdir)/src $(MANDIR)/default.cfg.template
+ $(DOCGEN) -g doom -m $(MANDIR)/default.cfg.template \
+ -c default $(top_srcdir)/src/m_config.c > $@
@[email protected]: ../src extra.cfg.template
- ./docgen -g doom -m extra.cfg.template \
- -c extended ../src/m_config.c > $@
+ $(DOCGEN) -g doom -m extra.cfg.template \
+ -c extended $(top_srcdir)/src/m_config.c > $@
-CMDLINE.doom : CMDLINE.template ../src ../src/doom
- ./docgen -p CMDLINE.template ../src/ ../src/doom/ > $@
+CMDLINE.doom : $(MANDIR)/CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/doom
+ $(DOCGEN) -p $(MANDIR)/CMDLINE.template $(top_srcdir)/src/ $(top_srcdir)/src/doom/ > $@
-INSTALL.doom: INSTALL.template
- ./simplecpp -DDOOM -DPRECOMPILED < INSTALL.template > $@
+INSTALL.doom: $(MANDIR)/INSTALL.template
+ $(MANDIR)/simplecpp -DDOOM -DPRECOMPILED < $(MANDIR)/INSTALL.template > $@
-@[email protected]: ../src $(MANPAGE_GEN_FILES)
- ./docgen -g heretic -m heretic.template ../src ../src/heretic > $@
+@[email protected]: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
+ $(DOCGEN) -g heretic -m $(top_srcdir)/man/heretic.template $(top_srcdir)/src $(top_srcdir)/src/heretic > $@
-heretic.cfg.5: ../src default.cfg.template
- ./docgen -g heretic -m default.cfg.template \
- -c default ../src/m_config.c > $@
+heretic.cfg.5: $(top_srcdir)/src $(MANDIR)/default.cfg.template
+ $(DOCGEN) -g heretic -m $(MANDIR)/default.cfg.template \
+ -c default $(top_srcdir)/src/m_config.c > $@
-@[email protected]: ../src extra.cfg.template
- ./docgen -g heretic -m extra.cfg.template \
- -c extended ../src/m_config.c > $@
+@[email protected]: $(top_srcdir)/src $(MANDIR)/extra.cfg.template
+ $(DOCGEN) -g heretic -m $(MANDIR)/extra.cfg.template \
+ -c extended $(top_srcdir)/src/m_config.c > $@
-CMDLINE.heretic : CMDLINE.template ../src ../src/heretic
- ./docgen -p CMDLINE.template ../src/ ../src/heretic/ > $@
+CMDLINE.heretic : $(MANDIR)/CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/heretic
+ $(DOCGEN) -p $(MANDIR)/CMDLINE.template $(top_srcdir)/src/ $(top_srcdir)/src/heretic/ > $@
-INSTALL.heretic: INSTALL.template
- ./simplecpp -DHERETIC -DPRECOMPILED < INSTALL.template > $@
+INSTALL.heretic: $(MANDIR)/INSTALL.template
+ $(MANDIR)/simplecpp -DHERETIC -DPRECOMPILED < $(MANDIR)/INSTALL.template > $@
-@[email protected]: ../src $(MANPAGE_GEN_FILES)
- ./docgen -g hexen -m hexen.template ../src ../src/hexen > $@
+@[email protected]: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
+ $(DOCGEN) -g hexen -m $(MANDIR)/hexen.template $(top_srcdir)/src $(top_srcdir)/src/hexen > $@
-hexen.cfg.5: ../src default.cfg.template
- ./docgen -g hexen -m default.cfg.template \
- -c default ../src/m_config.c > $@
+hexen.cfg.5: $(top_srcdir)/src $(MANDIR)/default.cfg.template
+ $(DOCGEN) -g hexen -m $(MANDIR)default.cfg.template \
+ -c default $(top_srcdir)/src/m_config.c > $@
-@[email protected]: ../src extra.cfg.template
- ./docgen -g hexen -m extra.cfg.template \
- -c extended ../src/m_config.c > $@
+@[email protected]: $(top_srcdir)/src $(MANDIR)/extra.cfg.template
+ $(DOCGEN) -g hexen -m $(MANDIR)/extra.cfg.template \
+ -c extended $(top_srcdir)/src/m_config.c > $@
-CMDLINE.hexen : CMDLINE.template ../src ../src/hexen
- ./docgen -p CMDLINE.template ../src/ ../src/hexen/ > $@
+CMDLINE.hexen : $(MANDIR)/CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/hexen
+ $(DOCGEN) -p $(MANDIR)/CMDLINE.template $(top_srcdir)/src/ $(top_srcdir)/src/hexen/ > $@
-INSTALL.hexen: INSTALL.template
- ./simplecpp -DHEXEN -DPRECOMPILED < INSTALL.template > $@
+INSTALL.hexen: $(MANDIR)/INSTALL.template
+ $(MANDIR)/simplecpp -DHEXEN -DPRECOMPILED < $(MANDIR)/INSTALL.template > $@
-@[email protected]: ../src $(MANPAGE_GEN_FILES)
- ./docgen -g strife -m strife.template ../src ../src/strife > $@
+@[email protected]: $(top_srcdir)/src $(MANPAGE_GEN_FILES)
+ $(DOCGEN) -g strife -m $(MANDIR)/strife.template $(top_srcdir)/src $(top_srcdir)/src/strife > $@
-strife.cfg.5: ../src default.cfg.template
- ./docgen -g strife -m default.cfg.template \
- -c default ../src/m_config.c > $@
+strife.cfg.5: $(top_srcdir)/src $(MANDIR)/default.cfg.template
+ $(DOCGEN) -g strife -m $(MANDIR)/default.cfg.template \
+ -c default $(top_srcdir)/src/m_config.c > $@
-@[email protected]: ../src extra.cfg.template
- ./docgen -g strife -m extra.cfg.template \
- -c extended ../src/m_config.c > $@
+@[email protected]: $(top_srcdir)/src $(MANDIR)/extra.cfg.template
+ $(DOCGEN) -g strife -m $(MANDIR)/extra.cfg.template \
+ -c extended $(top_srcdir)/src/m_config.c > $@
-CMDLINE.strife : CMDLINE.template ../src ../src/strife
- ./docgen -p CMDLINE.template ../src/ ../src/strife/ > $@
+CMDLINE.strife : $(MANDIR)/CMDLINE.template $(top_srcdir)/src $(top_srcdir)/src/strife
+ $(DOCGEN) -p $(MANDIR)/CMDLINE.template $(top_srcdir)/src/ $(top_srcdir)/src/strife/ > $@
INSTALL.strife: INSTALL.template
- ./simplecpp -DSTRIFE -DPRECOMPILED < INSTALL.template > $@
+ $(MANDIR)/simplecpp -DSTRIFE -DPRECOMPILED < $(MANDIR)/INSTALL.template > $@
-INSTALL: INSTALL.template
- ./simplecpp -DDOOM -DHERETIC -DHEXEN -DSTRIFE \
- -DPRECOMPILED < INSTALL.template > $@
+INSTALL: $(MANDIR)/INSTALL.template
+ $(MANDIR)//simplecpp -DDOOM -DHERETIC -DHEXEN -DSTRIFE \
+ -DPRECOMPILED < $(MANDIR)/INSTALL.template > $@
endif
--- a/opl/examples/Makefile.am
+++ b/opl/examples/Makefile.am
@@ -1,5 +1,5 @@
-AM_CFLAGS = -I..
+AM_CFLAGS = -I$(top_srcdir)/opl
noinst_PROGRAMS=droplay
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,9 +18,9 @@
execgames_SCRIPTS = $(SETUP_BINARIES)
-AM_CFLAGS = -I$(top_builddir)/textscreen \
- -I$(top_builddir)/opl \
- -I$(top_builddir)/pcsound \
+AM_CFLAGS = -I$(top_srcdir)/textscreen \
+ -I$(top_srcdir)/opl \
+ -I$(top_srcdir)/pcsound \
@SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
# Common source files used by absolutely everything:
--- a/src/doom/Makefile.am
+++ b/src/doom/Makefile.am
@@ -1,4 +1,4 @@
-AM_CFLAGS = -I.. @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
+AM_CFLAGS = -I$(top_srcdir)/src @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
noinst_LIBRARIES=libdoom.a
--- a/src/heretic/Makefile.am
+++ b/src/heretic/Makefile.am
@@ -1,6 +1,6 @@
-AM_CFLAGS=-I.. \
- -I$(top_builddir)/textscreen \
+AM_CFLAGS=-I$(top_srcdir)/src \
+ -I$(top_srcdir)/textscreen \
@SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
noinst_LIBRARIES=libheretic.a
@@ -51,11 +51,11 @@
r_things.c \
sb_bar.c \
sounds.c sounds.h \
-s_sound.c s_sound.h
+s_sound.c s_sound.h
EXTRA_DIST= \
i_sound.c \
-i_ibm.c
+i_ibm.c
FEATURE_DEHACKED_SOURCE_FILES = \
deh_ammo.c \
--- a/src/hexen/Makefile.am
+++ b/src/hexen/Makefile.am
@@ -1,4 +1,4 @@
-AM_CFLAGS=-I.. @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
+AM_CFLAGS=-I$(top_srcdir)/src @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
noinst_LIBRARIES=libhexen.a
@@ -58,10 +58,10 @@
st_start.c st_start.h \
sv_save.c \
textdefs.h \
- xddefs.h
+ xddefs.h
EXTRA_DIST= \
i_ibm.c \
-i_sound.c
+i_sound.c
libhexen_a_SOURCES=$(SOURCE_FILES)
--- a/src/resource.rc.in
+++ b/src/resource.rc.in
@@ -1,6 +1,6 @@
-1 ICON "../data/doom.ico"
+1 ICON "@top_srcdir@/data/doom.ico"
-CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "@top_srcdir@/src/manifest.xml"
1 VERSIONINFO
PRODUCTVERSION @WINDOWS_RC_VERSION@
--- a/src/setup-res.rc.in
+++ b/src/setup-res.rc.in
@@ -1,6 +1,6 @@
-1 ICON "../data/setup.ico"
+1 ICON "@top_srcdir@/data/setup.ico"
-1 24 MOVEABLE PURE "setup/setup-manifest.xml"
+1 24 MOVEABLE PURE "@top_builddir@/src/setup/setup-manifest.xml"
1 VERSIONINFO
PRODUCTVERSION @WINDOWS_RC_VERSION@
--- a/src/setup/Makefile.am
+++ b/src/setup/Makefile.am
@@ -3,7 +3,7 @@
AM_CFLAGS = @SDL_CFLAGS@ \
@SDLMIXER_CFLAGS@ \
- -I$(top_builddir)/textscreen -I..
+ -I$(top_srcdir)/textscreen -I$(top_srcdir)/src
noinst_LIBRARIES = libsetup.a
--- a/src/strife/Makefile.am
+++ b/src/strife/Makefile.am
@@ -1,4 +1,4 @@
-AM_CFLAGS = -I.. @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
+AM_CFLAGS = -I$(top_srcdir)/src @SDL_CFLAGS@ @SDLMIXER_CFLAGS@ @SDLNET_CFLAGS@
noinst_LIBRARIES=libstrife.a
--- a/textscreen/Makefile.am
+++ b/textscreen/Makefile.am
@@ -1,5 +1,5 @@
-AM_CFLAGS = -I$(top_builddir)/src
+AM_CFLAGS = -I$(top_srcdir)/src
CTAGS_ARGS=-I TXT_UNCAST_ARG+
--- a/textscreen/examples/Makefile.am
+++ b/textscreen/examples/Makefile.am
@@ -1,5 +1,5 @@
-AM_CFLAGS = -I.. -I$(top_builddir)/src
+AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/textscreen
noinst_PROGRAMS=guitest calculator