BUILD: Remove need for engine.mk in each engine directory.

Each engine now only has to provide a single configure.engine file
adding the engine into the configure script, which then produces the
required other files automatically.
This commit is contained in:
D G Turner 2013-11-07 12:58:34 +01:00
parent 1ac01d2333
commit ef85456859
47 changed files with 42 additions and 229 deletions

1
.gitignore vendored
View File

@ -106,6 +106,7 @@ project.xcworkspace
/plugins
/engines/plugins_table.h
/engines/engines.mk
/test/runner
/test/runner.cpp

View File

@ -83,7 +83,7 @@ include $(srcdir)/Makefile.common
# check if configure has been run or has been changed since last run
ENGINE_SUBDIRS_CONFIGURE := $(wildcard $(srcdir)/engines/*/configure.engine)
config.h config.mk engines/plugins_table.h: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE)
config.h config.mk engines/plugins_table.h engines/engines.mk: $(srcdir)/configure $(ENGINE_SUBDIRS_CONFIGURE)
ifeq "$(findstring config.mk,$(MAKEFILE_LIST))" "config.mk"
@echo "Running $(srcdir)/configure with the last specified parameters"
@sleep 2

View File

@ -16,9 +16,7 @@ all: $(EXECUTABLE) plugins
PLUGINS :=
MODULES := test devtools base $(MODULES)
ENGINE_SUBDIRS_MK := $(wildcard $(srcdir)/engines/*/engine.mk)
# Include the build instructions for all engines
-include $(ENGINE_SUBDIRS_MK)
-include engines/engines.mk
# After the game specific modules follow the shared modules
MODULES += \
@ -81,7 +79,7 @@ $(EXECUTABLE): $(OBJS)
$(QUIET_LINK)$(LD) $(LDFLAGS) $(PRE_OBJS_FLAGS) $+ $(POST_OBJS_FLAGS) $(LIBS) -o $@
distclean: clean clean-devtools
$(RM) config.h config.mk config.log engines/plugins_table.h
$(RM) config.h config.mk config.log engines/engines.mk engines/plugins_table.h
clean:
$(RM_REC) $(DEPDIRS)
@ -149,7 +147,7 @@ endif
# recreate them (which it can't), and in particular from looking for potential
# source files. This can save quite a bit of disk access time.
.PHONY: $(wildcard $(addsuffix /*.d,$(DEPDIRS))) $(addprefix $(srcdir)/, $(addsuffix /module.mk,$(MODULES))) \
$(srcdir)/$(port_mk) $(srcdir)/rules.mk $ENGINE_SUBDIRS_MK
$(srcdir)/$(port_mk) $(srcdir)/rules.mk
######################################################################
# Get the current version information

40
configure vendored
View File

@ -4383,6 +4383,40 @@ EOF
fi
echo "Creating engines/engines.mk"
cat > engines/engines.mk << EOF
# This file is automatically generated by configure
# DO NOT EDIT MANUALLY
# This file is being included by "Makefile.common"
EOF
for engine in $_engines; do
j=`echo $engine | tr '[:lower:]' '[:upper:]'`
if test "`get_engine_sub $engine`" = "no" ; then
# main engine
cat >> engines/engines.mk << EOF
ifdef ENABLE_$j
DEFINES += -DENABLE_$j=\$(ENABLE_$j)
MODULES += engines/$engine
EOF
for subeng in `get_engine_subengines $engine` ; do
k=`echo $subeng | tr '[:lower:]' '[:upper:]'`
cat >> engines/engines.mk << EOF
ifdef ENABLE_$k
DEFINES += -DENABLE_$k
endif
EOF
done
cat >> engines/engines.mk << EOF
endif
EOF
fi
done
echo "Creating engines/plugins_table.h"
cat > engines/plugins_table.h << EOF
/* This file is automatically generated by configure */
@ -4390,9 +4424,9 @@ cat > engines/plugins_table.h << EOF
// This file is being included by "base/plugins.cpp"
EOF
for i in $_srcdir/engines/*; do
if [ -d $i ]; then
j=`echo ${i#$_srcdir/engines/} | tr '[:lower:]' '[:upper:]'`
for engine in $_engines; do
if test "`get_engine_sub $engine`" = "no" ; then
j=`echo $engine | tr '[:lower:]' '[:upper:]'`
cat >> engines/plugins_table.h << EOF
#if PLUGIN_ENABLED_STATIC($j)
LINK_PLUGIN($j)

View File

@ -1,4 +0,0 @@
ifdef ENABLE_AGI
DEFINES += -DENABLE_AGI=$(ENABLE_AGI)
MODULES += engines/agi
endif

View File

@ -1,8 +0,0 @@
ifdef ENABLE_AGOS
DEFINES += -DENABLE_AGOS=$(ENABLE_AGOS)
MODULES += engines/agos
ifdef ENABLE_AGOS2
DEFINES += -DENABLE_AGOS2
endif
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_AVALANCHE
DEFINES += -DENABLE_AVALANCHE=$(ENABLE_AVALANCHE)
MODULES += engines/avalanche
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_CGE
DEFINES += -DENABLE_CGE=$(ENABLE_CGE)
MODULES += engines/cge
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_CINE
DEFINES += -DENABLE_CINE=$(ENABLE_CINE)
MODULES += engines/cine
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_COMPOSER
DEFINES += -DENABLE_COMPOSER=$(ENABLE_COMPOSER)
MODULES += engines/composer
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_CRUISE
DEFINES += -DENABLE_CRUISE=$(ENABLE_CRUISE)
MODULES += engines/cruise
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_DRACI
DEFINES += -DENABLE_DRACI=$(ENABLE_DRACI)
MODULES += engines/draci
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_DRASCULA
DEFINES += -DENABLE_DRASCULA=$(ENABLE_DRASCULA)
MODULES += engines/drascula
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_DREAMWEB
DEFINES += -DENABLE_DREAMWEB=$(ENABLE_DREAMWEB)
MODULES += engines/dreamweb
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_FULLPIPE
DEFINES += -DENABLE_FULLPIPE=$(ENABLE_FULLPIPE)
MODULES += engines/fullpipe
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_GOB
DEFINES += -DENABLE_GOB=$(ENABLE_GOB)
MODULES += engines/gob
endif

View File

@ -1,8 +0,0 @@
ifdef ENABLE_GROOVIE
DEFINES += -DENABLE_GROOVIE=$(ENABLE_GROOVIE)
MODULES += engines/groovie
ifdef ENABLE_GROOVIE2
DEFINES += -DENABLE_GROOVIE2
endif
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_HOPKINS
DEFINES += -DENABLE_HOPKINS=$(ENABLE_HOPKINS)
MODULES += engines/hopkins
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_HUGO
DEFINES += -DENABLE_HUGO=$(ENABLE_HUGO)
MODULES += engines/hugo
endif

View File

@ -1,12 +0,0 @@
ifdef ENABLE_KYRA
DEFINES += -DENABLE_KYRA=$(ENABLE_KYRA)
MODULES += engines/kyra
ifdef ENABLE_LOL
DEFINES += -DENABLE_LOL
endif
ifdef ENABLE_EOB
DEFINES += -DENABLE_EOB
endif
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_LASTEXPRESS
DEFINES += -DENABLE_LASTEXPRESS=$(ENABLE_LASTEXPRESS)
MODULES += engines/lastexpress
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_LURE
DEFINES += -DENABLE_LURE=$(ENABLE_LURE)
MODULES += engines/lure
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_MADE
DEFINES += -DENABLE_MADE=$(ENABLE_MADE)
MODULES += engines/made
endif

View File

@ -1,16 +0,0 @@
ifdef ENABLE_MOHAWK
DEFINES += -DENABLE_MOHAWK=$(ENABLE_MOHAWK)
MODULES += engines/mohawk
ifdef ENABLE_CSTIME
DEFINES += -DENABLE_CSTIME
endif
ifdef ENABLE_MYST
DEFINES += -DENABLE_MYST
endif
ifdef ENABLE_RIVEN
DEFINES += -DENABLE_RIVEN
endif
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_MORTEVIELLE
DEFINES += -DENABLE_MORTEVIELLE=$(ENABLE_MORTEVIELLE)
MODULES += engines/mortevielle
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_NEVERHOOD
DEFINES += -DENABLE_NEVERHOOD=$(ENABLE_NEVERHOOD)
MODULES += engines/neverhood
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_PARALLACTION
DEFINES += -DENABLE_PARALLACTION=$(ENABLE_PARALLACTION)
MODULES += engines/parallaction
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_PEGASUS
DEFINES += -DENABLE_PEGASUS=$(ENABLE_PEGASUS)
MODULES += engines/pegasus
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_QUEEN
DEFINES += -DENABLE_QUEEN=$(ENABLE_QUEEN)
MODULES += engines/queen
endif

View File

@ -1,12 +0,0 @@
ifdef ENABLE_SAGA
DEFINES += -DENABLE_SAGA=$(ENABLE_SAGA)
MODULES += engines/saga
ifdef ENABLE_IHNM
DEFINES += -DENABLE_IHNM
endif
ifdef ENABLE_SAGA2
DEFINES += -DENABLE_SAGA2
endif
endif

View File

@ -1,8 +0,0 @@
ifdef ENABLE_SCI
DEFINES += -DENABLE_SCI=$(ENABLE_SCI)
MODULES += engines/sci
ifdef ENABLE_SCI32
DEFINES += -DENABLE_SCI32
endif
endif

View File

@ -1,12 +0,0 @@
ifdef ENABLE_SCUMM
DEFINES += -DENABLE_SCUMM=$(ENABLE_SCUMM)
MODULES += engines/scumm
ifdef ENABLE_SCUMM_7_8
DEFINES += -DENABLE_SCUMM_7_8
endif
ifdef ENABLE_HE
DEFINES += -DENABLE_HE
endif
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_SKY
DEFINES += -DENABLE_SKY=$(ENABLE_SKY)
MODULES += engines/sky
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_SWORD1
DEFINES += -DENABLE_SWORD1=$(ENABLE_SWORD1)
MODULES += engines/sword1
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_SWORD2
DEFINES += -DENABLE_SWORD2=$(ENABLE_SWORD2)
MODULES += engines/sword2
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_SWORD25
DEFINES += -DENABLE_SWORD25=$(ENABLE_SWORD25)
MODULES += engines/sword25
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TEENAGENT
DEFINES += -DENABLE_TEENAGENT=$(ENABLE_TEENAGENT)
MODULES += engines/teenagent
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TESTBED
DEFINES += -DENABLE_TESTBED=$(ENABLE_TESTBED)
MODULES += engines/testbed
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TINSEL
DEFINES += -DENABLE_TINSEL=$(ENABLE_TINSEL)
MODULES += engines/tinsel
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TOLTECS
DEFINES += -DENABLE_TOLTECS=$(ENABLE_TOLTECS)
MODULES += engines/toltecs
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TONY
DEFINES += -DENABLE_TONY=$(ENABLE_TONY)
MODULES += engines/tony
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TOON
DEFINES += -DENABLE_TOON=$(ENABLE_TOON)
MODULES += engines/toon
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TOUCHE
DEFINES += -DENABLE_TOUCHE=$(ENABLE_TOUCHE)
MODULES += engines/touche
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TSAGE
DEFINES += -DENABLE_TSAGE=$(ENABLE_TSAGE)
MODULES += engines/tsage
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_TUCKER
DEFINES += -DENABLE_TUCKER=$(ENABLE_TUCKER)
MODULES += engines/tucker
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_WINTERMUTE
DEFINES += -DENABLE_WINTERMUTE=$(ENABLE_WINTERMUTE)
MODULES += engines/wintermute
endif

View File

@ -1,4 +0,0 @@
ifdef ENABLE_ZVISION
DEFINES += -DENABLE_ZVISION=$(ENABLE_ZVISION)
MODULES += engines/zvision
endif