summaryrefslogtreecommitdiff
path: root/Compose/Makefile
diff options
context:
space:
mode:
authorhans-christoph <hans-christoph@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-07-24 15:50:04 +0000
committerhans-christoph <hans-christoph@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2009-07-24 15:50:04 +0000
commit0af7ce3c8b998f16880ec96a4e08062d4095451f (patch)
treeef082e8e265dae5d1626a02a7cce4a2d08cfa04a /Compose/Makefile
parent0679b053defa395451db80c706a7583fd957d365 (diff)
downloadneo-layout-0af7ce3c8b998f16880ec96a4e08062d4095451f.tar.gz
neo-layout-0af7ce3c8b998f16880ec96a4e08062d4095451f.tar.bz2
neo-layout-0af7ce3c8b998f16880ec96a4e08062d4095451f.zip
Compose: make config hat nun eine definierte Reihenfolge für Module, die
nur am Anfang oder nur am Ende eingebunden werden dürfen. git-svn-id: https://svn.neo-layout.org@1977 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'Compose/Makefile')
-rw-r--r--Compose/Makefile18
1 files changed, 15 insertions, 3 deletions
diff --git a/Compose/Makefile b/Compose/Makefile
index ae7dbd2..c358638 100644
--- a/Compose/Makefile
+++ b/Compose/Makefile
@@ -6,8 +6,21 @@
#
SRC = ./src
PSEUDO_MODULES_FILES = $(SRC)/enUS.module
-MODULES_FILES = $(sort $(PSEUDO_MODULES_FILES) $(wildcard $(SRC)/*.module))
-MODULES = $(notdir $(basename $(MODULES_FILES)))
+MODULES_FILES = $(PSEUDO_MODULES_FILES) $(wildcard $(SRC)/*.module)
+
+# Gewünschte Build-Reihenfolge der Module. Die in den Listen
+# genannten Dateien werden (falls Module dieses Namens existieren) in
+# der vorgegebenen Reihenfolge zwingend am Anfang oder am Ende von
+# XCompose eingefügt. Alle nicht erwähnten Module kommen in
+# alphabetischer Reihenfolge in die Mitte.
+#
+MODULE_ORDER_HEAD = head-example enUS base
+MODULE_ORDER_TAIL = user tail-example
+
+M := $(sort $(notdir $(basename $(MODULES_FILES))))
+MODULES := $(foreach i, $(MODULE_ORDER_HEAD), $(findstring $(i),$(M)))
+MODULES += $(filter-out $(MODULE_ORDER_HEAD) $(MODULE_ORDER_TAIL), $(M))
+MODULES += $(foreach i, $(MODULE_ORDER_TAIL), $(findstring $(i),$(M)))
# Liste von Demofiles, werden bei 'make all' erzeugt.
# Im Grunde ist dies seit 'make config' überflüssig.
@@ -41,7 +54,6 @@ all : XCompose $(DEMOFILES)
# 'make config' führt interaktive Abfrage der Konfiguration durch
# und legt Ergebnis in .config ab
-
config : $(PSEUDO_MODULES_FILES)
@if [ ! -f .config ] ; then \
echo "USER_XCOMPOSE = $(USER_XCOMPOSE)" > .config ; fi