summaryrefslogtreecommitdiffstats
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
parent0679b053defa395451db80c706a7583fd957d365 (diff)
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 '')
-rw-r--r--Compose/Makefile18
-rw-r--r--Compose/configure.sh19
2 files changed, 25 insertions, 12 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
diff --git a/Compose/configure.sh b/Compose/configure.sh
index d6b74d4..9ee8aa1 100644
--- a/Compose/configure.sh
+++ b/Compose/configure.sh
@@ -28,21 +28,22 @@ echo Verfügbare Module für XCompose:
for i in ${MODULES}; do
sed -n "
/^#configinfo[ \t]*/{
- s//$i /
+ s///
b print
}
-\${
- s/.*/$i - ohne Beschreibung/
- b print
-}
-
-b
+\$! b
+s/.*/(ohne Beschreibung)/
: print
-s/^\(.\{10\}\) *\(.\{1,69\}\).*/\1\2/ # 80-Zeichen-Terminal-Grenze
+
+x
+s/^/$i /
+G
+s/^\(.\{9\}\).*\n\(.\{1,69\}\).*/\1 \2/ # 80-Zeichen-Terminal-Grenze
p
-q" ${MODPATH}/${i}${MODSUFFIX}
+q
+" ${MODPATH}/${i}${MODSUFFIX}
if grep -q $i $CONFFILE; then
selprompt="${selprompt} ${i}+ ";