diff options
author | hans-christoph <hans-christoph@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-07-24 15:50:04 +0000 |
---|---|---|
committer | hans-christoph <hans-christoph@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2009-07-24 15:50:04 +0000 |
commit | 0af7ce3c8b998f16880ec96a4e08062d4095451f (patch) | |
tree | ef082e8e265dae5d1626a02a7cce4a2d08cfa04a | |
parent | 0679b053defa395451db80c706a7583fd957d365 (diff) | |
download | neo-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
-rw-r--r-- | Compose/Makefile | 18 | ||||
-rw-r--r-- | Compose/configure.sh | 19 |
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}+ "; |