From 0af7ce3c8b998f16880ec96a4e08062d4095451f Mon Sep 17 00:00:00 2001 From: hans-christoph Date: Fri, 24 Jul 2009 15:50:04 +0000 Subject: =?UTF-8?q?Compose:=20make=20config=20hat=20nun=20eine=20definiert?= =?UTF-8?q?e=20Reihenfolge=20f=C3=BCr=20Module,=20die=20nur=20am=20Anfang?= =?UTF-8?q?=20oder=20nur=20am=20Ende=20eingebunden=20werden=20d=C3=BCrfen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1977 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- Compose/Makefile | 18 +++++++++++++++--- 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}+ "; -- cgit v1.2.3