shithub: choc

Download patch

ref: 8777a9672ecaf308d974a9c36f6edab6ee65bf4b
parent: 4981903f7c4f6d1e7dba74782afe1624ecb95685
author: Simon Howard <fraggle@gmail.com>
date: Sun Jun 21 15:33:35 EDT 2009

Add Makefile for building CAB files, dependency calculation.

Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1607

--- a/configure.in
+++ b/configure.in
@@ -107,6 +107,7 @@
 man/Makefile
 src/Makefile
 pcsound/Makefile
+pkg/wince/Makefile
 src/resource.rc
 src/doom-screensaver.desktop
 setup/setup-res.rc
--- /dev/null
+++ b/pkg/wince/.gitignore
@@ -1,0 +1,3 @@
+Makefile
+Makefile.in
+*.cab
--- /dev/null
+++ b/pkg/wince/Makefile.am
@@ -1,0 +1,10 @@
+
+DEPS=$(shell ./wince-cabgen -d $(CONFIG_FILE))
+CONFIG_FILE=wince-cab.cfg
+OUTPUT_FILE=@PACKAGE_TARNAME@-@PACKAGE_VERSION@.cab
+
+noinst_DATA = $(OUTPUT_FILE)
+
+$(OUTPUT_FILE) : $(CONFIG_FILE) $(DEPS)
+	./wince-cabgen $< $@
+
--- a/pkg/wince/wince-cabgen
+++ b/pkg/wince/wince-cabgen
@@ -648,12 +648,25 @@
 
     return result
 
+# List the files that the output CAB depends on.
+
+def print_dependencies(filename):
+    config = read_config_file(filename)
+
+    files_list = config["files"]
+
+    for dest, source_file in files_list.items():
+        print source_file
+
 if len(sys.argv) < 3:
     print "Usage: %s <config file> <output file>" % sys.argv[0]
     sys.exit(0)
 
-config = read_config_file(sys.argv[1])
+if sys.argv[1] == "-d":
+    print_dependencies(sys.argv[2])
+else:
+    config = read_config_file(sys.argv[1])
 
-cab_file = CabFile(config)
-cab_file.write(sys.argv[2])
+    cab_file = CabFile(config)
+    cab_file.write(sys.argv[2])