aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2009-06-27 04:04:13 -0400
committerJon Masters <jcm@jonmasters.org>2009-06-27 04:04:13 -0400
commitf7de968054eaa043c20abf831c8dbb0ddaf2df5e (patch)
treea78829e853e728f3f4f014d3d5464f667c9b9623
parentf2668710e9e97331d942f9d3163e2f2eaf1169ef (diff)
downloadmodule-init-tools-f7de968054eaa043c20abf831c8dbb0ddaf2df5e.tar.gz
testsuite: add a Makefile to rebuild the test modules
I haven't found a Makefile or script in the tree to do this, so I wrote one. jcm: Indeed, there was no such Makefile - these are rebuilt infrequently and I last time just did it by hand, but a Makefile is cleaner. Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Jon Masters <jcm@jonmasters.org>
-rw-r--r--.gitignore1
-rw-r--r--tests/data/Makefile75
2 files changed, 76 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index d580a3b..18ff27f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,6 +14,7 @@ depcomp
install-sh
Makefile.in
Makefile
+!tests/data/Makefile
missing
# Compiled executables
diff --git a/tests/data/Makefile b/tests/data/Makefile
new file mode 100644
index 0000000..ffa19f6
--- /dev/null
+++ b/tests/data/Makefile
@@ -0,0 +1,75 @@
+# Makefile to rebuild the test modules for a given bits-endianess combination
+USAGE := make BITS=32|64 END=be|le [CC=..] [CFLAGS=...]
+
+CC := gcc
+CFLAGS := -Wall -DBITS_PER_LONG=$(BITS)
+
+targets := \
+ alias/alias.ko \
+ complex/complex_a.ko \
+ complex/complex_b.ko \
+ complex/complex_c.ko \
+ complex/complex_d.ko \
+ complex/complex_e.ko \
+ loop/loop1.ko \
+ loop/loop2.ko \
+ loop/loop_dep.ko \
+ map/ccw_map.ko \
+ map/ieee1394_map.ko \
+ map/input_map.ko \
+ map/input_map_new.ko \
+ map/of_map.ko \
+ map/pci_map.ko \
+ map/pnp_map.ko \
+ map/usb_map.ko \
+ modinfo/modinfo.ko \
+ normal/export_dep.ko \
+ normal/export_nodep.ko \
+ normal/noexport_dep.ko \
+ normal/noexport_doubledep.ko \
+ normal/noexport_nodep.ko \
+ rename/rename-new.ko \
+ rename/rename-old.ko \
+ rename/rename-version.ko \
+ unknown/unknown.ko
+
+all: check_vars build
+
+check_vars:
+ @case "$(BITS)-$(END)" in \
+ 32-le | 32-be | 64-le | 64-be) ;; \
+ *) \
+ echo "Usage: $(USAGE)" >&2; \
+ exit 1;; \
+ esac
+
+build: $(patsubst %.ko, $(BITS)-$(END)/%-$(BITS).ko, $(targets))
+
+%.ko: %.o
+ mv $^ $@
+
+# FIXME - ugly
+$(BITS)-$(END)/map/%-$(BITS).o \
+$(BITS)-$(END)/modinfo/%-$(BITS).o \
+$(BITS)-$(END)/rename/%-$(BITS).o \
+$(BITS)-$(END)/normal/%-$(BITS).o \
+$(BITS)-$(END)/unknown/%-$(BITS).o \
+$(BITS)-$(END)/complex/%-$(BITS).o \
+$(BITS)-$(END)/alias/%-$(BITS).o \
+$(BITS)-$(END)/loop/%-$(BITS).o \
+$(BITS)-$(END)/normal/%-$(BITS).o \
+: src/%.c
+ mkdir -p $(dir $@)
+ $(CC) $(CFLAGS) -o $@ -c $^
+ @case "$(END)" in \
+ le) end2=LSB;; \
+ be) end2=MSB;; \
+ esac; \
+ desc=`file -b $@`; \
+ case "$$desc" in \
+ *\ $(BITS)-bit\ $$end2\ *) ;; \
+ *) echo "$@ does not look like a $(BITS)-$(END) object:" >&2; \
+ echo "$$desc" >&2 ; \
+ exit 1;; \
+ esac
+