[Scummvm-cvs-logs] SF.net SVN: scummvm: [30962] scummvm/trunk

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Mon Feb 25 15:10:18 CET 2008


Revision: 30962
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30962&view=rev
Author:   fingolfin
Date:     2008-02-25 06:10:17 -0800 (Mon, 25 Feb 2008)

Log Message:
-----------
Extended rules.mk with code for building extra (tool) executables, and changed some of the tools to make use of this

Modified Paths:
--------------
    scummvm/trunk/rules.mk
    scummvm/trunk/tools/create_igortbl/module.mk
    scummvm/trunk/tools/create_kyradat/module.mk
    scummvm/trunk/tools/create_lure/module.mk
    scummvm/trunk/tools/module.mk
    scummvm/trunk/tools/qtable/module.mk
    scummvm/trunk/tools/skycpt/module.mk

Modified: scummvm/trunk/rules.mk
===================================================================
--- scummvm/trunk/rules.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/rules.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,5 +1,11 @@
+###############################################
 # Common build rules, used by the sub modules and their module.mk files
+#
+# $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/Makefile $
+# $Id$
+###############################################
 
+
 # Copy the list of objects to a new variable. The name of the new variable
 # contains the module name, a trick we use so we can keep multiple different
 # module object lists, one for each module.
@@ -9,23 +15,50 @@
 MODULE_DIRS += $(sort $(dir $(MODULE_OBJS-$(MODULE))))
 
 
+
+ifdef TOOL_EXECUTABLE
+################################################
+# Build rule for (tool) executables.
+# TODO: Refactor this, so that even our master executable can use this rule?
+################################################
+TOOL-$(MODULE) := $(MODULE)/$(TOOL_EXECUTABLE)$(EXEEXT)
+$(TOOL-$(MODULE)): $(MODULE_OBJS-$(MODULE))
+	$(CXX) $(LDFLAGS) $+ -o $@
+
+# Reset TOOL_EXECUTABLE var
+TOOL_EXECUTABLE:=
+
+# Add to "tools" target
+tools: $(TOOL-$(MODULE))
+
+# Pseudo target for comfort, allows for "make tools/skycpt", etc.
+$(MODULE): $(TOOL-$(MODULE))
+clean-tools: clean-$(MODULE)
+
+else
 ifdef PLUGIN
-# Plugin build rule
-# TODO: Right now, for Mac OS X only. We either will have to generate this
-# via the configure script, or put in some 'if' statements to choose from
-# one of several build rules
+################################################
+# Build rule for dynamic (loadable) plugins
+################################################
 PLUGIN-$(MODULE) := plugins/$(PLUGIN_PREFIX)$(notdir $(MODULE))$(PLUGIN_SUFFIX)
 $(PLUGIN-$(MODULE)): $(MODULE_OBJS-$(MODULE)) $(PLUGIN_EXTRA_DEPS)
 	$(MKDIR) plugins
 	$(CXX) $(filter-out $(PLUGIN_EXTRA_DEPS),$+) $(PLUGIN_LDFLAGS) -o $@
+
+# Reset PLUGIN var
 PLUGIN:=
+
+# Add to "plugins" target
 plugins: $(PLUGIN-$(MODULE))
 
 # Pseudo target for comfort, allows for "make common", "make gui" etc.
 $(MODULE): $(PLUGIN-$(MODULE))
+clean-plugins: clean-$(MODULE)
 
 else
-
+################################################
+# Build rule for static modules/plugins
+################################################
 MODULE_LIB-$(MODULE) := $(MODULE)/lib$(notdir $(MODULE)).a
 
 # If not building as a plugin, add the object files to the main OBJS list
@@ -40,14 +73,16 @@
 # Pseudo target for comfort, allows for "make common", "make gui" etc.
 $(MODULE): $(MODULE_LIB-$(MODULE))
 
-endif
+endif # PLUGIN
+endif # TOOL_EXECUTABLE
 
-
+###############################################
 # Clean target, removes all object files. This looks a bit hackish, as we have to
 # copy the content of MODULE_OBJS to another unique variable (the next module.mk
 # will overwrite it after all). The same for the libMODULE.a library file.
+###############################################
 clean: clean-$(MODULE)
 clean-$(MODULE): clean-% :
-	-$(RM) $(MODULE_OBJS-$*) $(MODULE_LIB-$*) $(PLUGIN-$*)
+	-$(RM) $(MODULE_OBJS-$*) $(MODULE_LIB-$*) $(PLUGIN-$*) $(TOOL-$*)
 
 .PHONY: clean-$(MODULE) $(MODULE)

Modified: scummvm/trunk/tools/create_igortbl/module.mk
===================================================================
--- scummvm/trunk/tools/create_igortbl/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/create_igortbl/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,13 +1,13 @@
+# $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/Makefile $
+# $Id: Makefile 30664 2008-01-27 19:47:41Z jvprat $
+
 MODULE := tools/create_igortbl
 
-MODULE_DIRS += \
-	tools/create_igortbl/
+MODULE_OBJS := \
+	create_igortbl.o
 
-TOOLS += \
-	$(MODULE)/create_igortbl$(EXEEXT)
+# Set the name of the executable
+TOOL_EXECUTABLE := create_igortbl
 
-MODULE_OBJS := \
-	$(MODULE)/create_igortbl.o
-
-$(MODULE)/create_igortbl$(EXEEXT): $(MODULE_OBJS)
-	$(CXX) $(LDFLAGS) $+ -o $@
+# Include common rules
+include $(srcdir)/rules.mk

Modified: scummvm/trunk/tools/create_kyradat/module.mk
===================================================================
--- scummvm/trunk/tools/create_kyradat/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/create_kyradat/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,16 +1,16 @@
+# $URL$
+# $Id$
+
 MODULE := tools/create_kyradat
 
-MODULE_DIRS += \
-	tools/create_kyradat/
+MODULE_OBJS := \
+	create_kyradat.o \
+	pak.o \
+	md5.o \
+	util.o
 
-TOOLS += \
-	$(MODULE)/create_kyradat$(EXEEXT)
+# Set the name of the executable
+TOOL_EXECUTABLE := create_kyradat
 
-MODULE_OBJS := \
-	$(MODULE)/create_kyradat.o \
-	$(MODULE)/pak.o \
-	$(MODULE)/md5.o \
-	$(MODULE)/util.o
-
-$(MODULE)/create_kyradat$(EXEEXT): $(MODULE_OBJS)
-	$(CXX) $(LDFLAGS) $+ -o $@
+# Include common rules
+include $(srcdir)/rules.mk

Modified: scummvm/trunk/tools/create_lure/module.mk
===================================================================
--- scummvm/trunk/tools/create_lure/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/create_lure/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,14 +1,14 @@
+# $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/Makefile $
+# $Id: Makefile 30664 2008-01-27 19:47:41Z jvprat $
+
 MODULE := tools/create_lure
 
-MODULE_DIRS += \
-	tools/create_lure/
+MODULE_OBJS := \
+	create_lure_dat.o \
+	process_actions.o
 
-TOOLS += \
-	$(MODULE)/create_lure$(EXEEXT)
+# Set the name of the executable
+TOOL_EXECUTABLE := create_lure
 
-MODULE_OBJS := \
-	$(MODULE)/create_lure_dat.o \
-	$(MODULE)/process_actions.o
-
-$(MODULE)/create_lure$(EXEEXT): $(MODULE_OBJS)
-	$(CXX) $(LDFLAGS) $+ -o $@
+# Include common rules
+include $(srcdir)/rules.mk

Modified: scummvm/trunk/tools/module.mk
===================================================================
--- scummvm/trunk/tools/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,3 +1,6 @@
+# $URL$
+# $Id$
+
 MODULE := tools
 
 MODULE_DIRS += \
@@ -15,7 +18,7 @@
 include $(srcdir)/tools/*/module.mk
 
 # Make sure the 'all' / 'clean' targets build/clean the tools, too
-all:
+#all:
 clean: clean-tools
 
 # Main target

Modified: scummvm/trunk/tools/qtable/module.mk
===================================================================
--- scummvm/trunk/tools/qtable/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/qtable/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,13 +1,13 @@
+# $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/Makefile $
+# $Id: Makefile 30664 2008-01-27 19:47:41Z jvprat $
+
 MODULE := tools/qtable
 
-MODULE_DIRS += \
-	tools/qtable/
+MODULE_OBJS := \
+	qtable.o
 
-TOOLS += \
-	$(MODULE)/qtable$(EXEEXT)
+# Set the name of the executable
+TOOL_EXECUTABLE := qtable
 
-MODULE_OBJS := \
-	$(MODULE)/qtable.o
-
-$(MODULE)/qtable$(EXEEXT): $(MODULE_OBJS)
-	$(CXX) $(LDFLAGS) $+ -o $@
+# Include common rules
+include $(srcdir)/rules.mk

Modified: scummvm/trunk/tools/skycpt/module.mk
===================================================================
--- scummvm/trunk/tools/skycpt/module.mk	2008-02-25 14:09:04 UTC (rev 30961)
+++ scummvm/trunk/tools/skycpt/module.mk	2008-02-25 14:10:17 UTC (rev 30962)
@@ -1,18 +1,18 @@
+# $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/tools/trunk/Makefile $
+# $Id: Makefile 30664 2008-01-27 19:47:41Z jvprat $
+
 MODULE := tools/skycpt
 
-MODULE_DIRS += \
-	tools/skycpt/
+MODULE_OBJS := \
+	AsciiCptCompile.o \
+	KmpSearch.o \
+	TextFile.o \
+	cptcompiler.o \
+	cpthelp.o \
+	idFinder.o
 
-TOOLS += \
-	$(MODULE)/skycpt$(EXEEXT)
+# Set the name of the executable
+TOOL_EXECUTABLE := skycpt
 
-MODULE_OBJS := \
-	$(MODULE)/AsciiCptCompile.o \
-	$(MODULE)/KmpSearch.o \
-	$(MODULE)/TextFile.o \
-	$(MODULE)/cptcompiler.o \
-	$(MODULE)/cpthelp.o \
-	$(MODULE)/idFinder.o
-
-$(MODULE)/skycpt$(EXEEXT): $(MODULE_OBJS)
-	$(CXX) $(LDFLAGS) $+ -o $@
+# Include common rules
+include $(srcdir)/rules.mk


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list