From ef9525427b883ef9998e47c1e8d4315ef3ca03fa Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Sun, 30 Jun 2024 19:27:13 +0200 Subject: [PATCH] remove configure.sh --- Makefile | 239 +++++++++++++++++++++++++++++++++++++++++++++++++ Makefile.base | 243 -------------------------------------------------- configure.sh | 72 --------------- man.d | 70 +++++++++++++++ 4 files changed, 309 insertions(+), 315 deletions(-) create mode 100644 Makefile delete mode 100644 Makefile.base delete mode 100755 configure.sh create mode 100644 man.d diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a88324a --- /dev/null +++ b/Makefile @@ -0,0 +1,239 @@ +# +# Java Makefile: +# > NAME: name of project (used for jar output file) +# > MAIN: path to main java source to compile +# > MORE: path to supplementary needed resources not linked from MAIN +# > TEST: path to main test source to compile +# > JAR_FLAGS: a list of things to pack, each usually prefixed with "-C bin/" +# > SJAR_FLAGS: like JAR_FLAGS, but for *-sources.jar +# > PREFIX: usually /usr/local (where to install the program) +# +NAME = fanfix +MAIN = be/nikiroo/fanfix/Main +MORE += be/nikiroo/utils/ui/ImageUtilsAwt +TEST = be/nikiroo/fanfix/test/Test + +JAR_MISC = -C ./ LICENSE -C ./ VERSION -C libs/ licenses +JAR_FLAGS += -C bin/ be -C bin/ org $(JAR_MISC) +SJAR_FLAGS += -C src/ org -C src/ be $(JAR_MISC) + +PREFIX = /usr/local + +# Makefile base template +# +# Version: +# - 1.0.0: add a version comment +# - 1.1.0: add 'help', 'sjar' +# - 1.2.0: add 'apk' +# - 1.2.1: improve 'apk' and add 'android' +# - 1.3.0: add 'man' for man(ual) pages +# - 1.4.0: remove android stuff (not working anyway) +# - 1.5.0: include sources and readme/changelog in jar +# - 1.5.1: include binaries from libs/bin/ into the jar +# - 1.6.0: rework the system without need of a ./configure.sh, add uninstall + + +JAVAC = javac +JAVAC_FLAGS += -encoding UTF-8 -d ./bin/ -cp ./src/ +JAVA = java +JAVA_FLAGS += -cp ./bin/ +JAR = jar +RJAR = java +RJAR_FLAGS += -jar + +all: build jar man + +help: + @echo "Usual options:" + @echo "==============" + @echo " make : to build the jar file and man pages IF possible" + @echo " make help : to get this help screen" + @echo " make libs : to update the libraries into src/" + @echo " make build : to update the binaries (not the jar)" + @echo " make test : to update the test binaries" + @echo " make build jar : to update the binaries and jar file" + @echo " make sjar : to create the sources jar file" + @echo " make clean : to clean the directory of intermediate files" + @echo " make mrpropre : to clean the directory of all outputs" + @echo " make run : to run the program from the binaries" + @echo " make run-test : to run the test program from the binaries" + @echo " make jrun : to run the program from the jar file" + @echo " make install : to install the application into $$PREFIX" + @echo " make uninstall : to uninstall the application from $$PREFIX" + @echo " make man : to make the manual pages (requires pandoc)" + +.PHONY: all clean mrproper mrpropre build run jrun jar sjar resources test-resources install libs man love + +bin: + @mkdir -p bin + +jar: $(NAME).jar + +sjar: $(NAME)-sources.jar + +build: resources + @echo Compiling program... + @echo " src/$(MAIN)" + @$(JAVAC) $(JAVAC_FLAGS) "src/$(MAIN).java" + @[ "$(MORE)" = "" ] || for sup in $(MORE); do \ + echo " src/$$sup" ;\ + $(JAVAC) $(JAVAC_FLAGS) "src/$$sup.java" ; \ + done + +test: test-resources + @[ -e bin/$(MAIN).class ] || echo You need to build the sources + @[ -e bin/$(MAIN).class ] + @echo Compiling test program... + @[ "$(TEST)" != "" ] || echo No test sources defined. + @[ "$(TEST)" = "" ] || for sup in $(TEST); do \ + echo " src/$$sup" ;\ + $(JAVAC) $(JAVAC_FLAGS) "src/$$sup.java" ; \ + done + +clean: + rm -rf bin/ + @echo Removing sources taken from libs... + @for lib in libs/*-sources.jar libs/*-sources.patch.jar; do \ + if [ "$$lib" != 'libs/*-sources.jar' \ + -a "$$lib" != 'libs/*-sources.patch.jar' ]; \ + then \ + basename "$$lib"; \ + jar tf "$$lib" | while read -r ln; do \ + [ -f "src/$$ln" ] && rm "src/$$ln"; \ + done; \ + jar tf "$$lib" | tac | while read -r ln; do \ + if [ -d "src/$$ln" ]; then \ + rmdir "src/$$ln" 2>/dev/null || true; \ + fi; \ + done; \ + fi \ + done + +mrproper: mrpropre +mrpropre: clean man + rm -f $(NAME).jar + rm -f $(NAME)-sources.jar + [ ! -e VERSION ] || rm -f "$(NAME)-`cat VERSION`.jar" + [ ! -e VERSION ] || rm -f "$(NAME)-`cat VERSION`-sources.jar" + +love: + @echo " ...not war." + +resources: libs + @echo Copying resources and documentation into bin/... + @if ! cp *.md bin/ 2>/dev/null; then \ + if [ -e VERSION ]; then \ + cp VERSION bin/no-documentation.md; \ + else \ + echo > bin/no-documentation.md; \ + fi; \ + fi + @cd src && find . | grep -v '\.java$$' \ + | grep -v '/test/' | while read -r ln; do \ + if [ -f "$$ln" ]; then \ + dir="`dirname "$$ln"`"; \ + mkdir -p "../bin/$$dir" ; \ + cp "$$ln" "../bin/$$ln" ; \ + fi ; \ + done + @[ ! -e VERSION ] || cp VERSION bin/ + +test-resources: resources + @echo Copying test resources into bin/... + @cd src && find . | grep -v '\.java$$' \ + | grep '/test/' | while read -r ln; do \ + if [ -f "$$ln" ]; then \ + dir="`dirname "$$ln"`"; \ + mkdir -p "../bin/$$dir" ; \ + cp "$$ln" "../bin/$$ln" ; \ + fi ; \ + done + +libs: bin + @if [ ! -e bin/libs -a -d libs ]; then \ + echo Extracting sources from libs...; \ + cd src; \ + for lib in ../libs/*-sources.jar \ + ../libs/*-sources.patch.jar; do \ + if [ "$$lib" != '../libs/*-sources.jar' \ + -a "$$lib" != '../libs/*-sources.patch.jar' ]; \ + then \ + basename "$$lib"; \ + jar xf "$$lib"; \ + fi; \ + done; \ + fi; + @[ ! -d libs ] || touch bin/libs + +$(NAME)-sources.jar: libs + @echo Making sources JAR file... + @echo > bin/manifest + @if [ "$(SJAR_FLAGS)" = "" ]; then \ + echo No sources JAR file defined, skipping; \ + else \ + echo Creating $(NAME)-sources.jar...; \ + $(JAR) cfm $(NAME)-sources.jar \ + bin/manifest -C ./ *.md $(SJAR_FLAGS); \ + if [ -e VERSION ]; then \ + echo Copying to "$(NAME)-`cat VERSION`-sources.jar"...;\ + cp $(NAME)-sources.jar \ + "$(NAME)-`cat VERSION`-sources.jar"; \ + fi; \ + fi; + +$(NAME).jar: build resources + @if [ -d libs/bin/ ]; then \ + echo "Copying additional binaries from libs/bin/ into bin/...";\ + cp -r libs/bin/* bin/; \ + fi; + @echo "Copying sources into bin/..." + @cp -r src/* bin/ + @echo "Making jar..." + @echo "Main-Class: `echo "$(MAIN)" | sed 's:/:.:g'`" > bin/manifest + @echo >> bin/manifest + $(JAR) cfm $(NAME).jar bin/manifest -C ./ *.md $(JAR_FLAGS) + @[ ! -e VERSION ] || echo Copying to "$(NAME)-`cat VERSION`.jar"... + @[ ! -e VERSION ] || cp $(NAME).jar "$(NAME)-`cat VERSION`.jar" + +run: build + @echo Running "$(NAME)"... + $(JAVA) $(JAVA_FLAGS) $(MAIN) + +jrun: build + @echo Running "$(NAME).jar"... + $(RJAR) $(RJAR_FLAGS) $(NAME).jar + +run-test: test + @echo Running tests for "$(NAME)"... + @[ "$(TEST)" != "" ] || echo No test sources defined. + @if [ "`whereis tput`" = "tput:" ]; then \ + ok='"[ ok ]"'; \ + ko='"[ !! ]"'; \ + cols=80; \ + else \ + ok="`tput bold`[`tput setf 2` OK `tput init``tput bold`]`tput init`"; \ + ko="`tput bold`[`tput setf 4` !! `tput init``tput bold`]`tput init`"; \ + cols='"`tput cols`"'; \ + fi; \ + [ "$(TEST)" = "" ] || \ + ( clear ; $(JAVA) $(JAVA_FLAGS) $(TEST) "$$cols" "$$ok" "$$ko" ) + +install: man + @[ -e $(NAME).jar ] || echo You need to build the jar + @[ -e $(NAME).jar ] + mkdir -p "$(PREFIX)/lib" "$(PREFIX)/bin" + cp $(NAME).jar "$(PREFIX)/lib/" + ( \ + echo "#!/bin/sh"; \ + echo "$(RJAR) $(RJAR_FLAGS) \"$(PREFIX)/lib/$(NAME).jar\" \"\$$@\"" \ + ) > "$(PREFIX)/bin/$(NAME)" + chmod a+rx "$(PREFIX)/bin/$(NAME)" + +uninstall: man + rm "$(PREFIX)/bin/$(NAME)" + rm "$(PREFIX)/lib/$(NAME).jar" + rmdir "$(PREFIX)/bin" 2>/dev/null + +man: + @$(MAKE) -f man.d $(MAKECMDGOALS) NAME=$(NAME) + diff --git a/Makefile.base b/Makefile.base deleted file mode 100644 index 0d365b8..0000000 --- a/Makefile.base +++ /dev/null @@ -1,243 +0,0 @@ -# Makefile base template -# -# Version: -# - 1.0.0: add a version comment -# - 1.1.0: add 'help', 'sjar' -# - 1.2.0: add 'apk' -# - 1.2.1: improve 'apk' and add 'android' -# - 1.3.0: add 'man' for man(ual) pages -# - 1.4.0: remove android stuff (not working anyway) -# - 1.5.0: include sources and readme/changelog in jar -# - 1.5.1: include binaries from libs/bin/ into the jar - -# Required parameters (the commented out ones are supposed to be per project): - -#MAIN = path to main java source to compile -#MORE = path to supplementary needed resources not linked from MAIN -#NAME = name of project (used for jar output file) -#PREFIX = usually /usr/local (where to install the program) -#TEST = path to main test source to compile -#JAR_FLAGS += a list of things to pack, each usually prefixed with "-C bin/" -#SJAR_FLAGS += a list of things to pack, each usually prefixed with "-C src/", -# for *-sources.jar files -#TEST_PARAMS = any parameter to pass to the test runnable when "test-run" - -JAVAC = javac -JAVAC_FLAGS += -encoding UTF-8 -d ./bin/ -cp ./src/ -JAVA = java -JAVA_FLAGS += -cp ./bin/ -JAR = jar -RJAR = java -RJAR_FLAGS += -jar - -all: build jar man - -help: - @echo "Usual options:" - @echo "==============" - @echo " make : to build the jar file and man pages IF possible" - @echo " make help : to get this help screen" - @echo " make libs : to update the libraries into src/" - @echo " make build : to update the binaries (not the jar)" - @echo " make test : to update the test binaries" - @echo " make build jar : to update the binaries and jar file" - @echo " make sjar : to create the sources jar file" - @echo " make clean : to clean the directory of intermediate files" - @echo " make mrpropre : to clean the directory of all outputs" - @echo " make run : to run the program from the binaries" - @echo " make run-test : to run the test program from the binaries" - @echo " make jrun : to run the program from the jar file" - @echo " make install : to install the application into $$PREFIX" - @echo " make ifman : to make the manual pages (if pandoc is found)" - @echo " make man : to make the manual pages (requires pandoc)" - -.PHONY: all clean mrproper mrpropre build run jrun jar sjar resources test-resources install libs ifman man love - -bin: - @mkdir -p bin - -jar: $(NAME).jar - -sjar: $(NAME)-sources.jar - -build: resources - @echo Compiling program... - @echo " src/$(MAIN)" - @$(JAVAC) $(JAVAC_FLAGS) "src/$(MAIN).java" - @[ "$(MORE)" = "" ] || for sup in $(MORE); do \ - echo " src/$$sup" ;\ - $(JAVAC) $(JAVAC_FLAGS) "src/$$sup.java" ; \ - done - -test: test-resources - @[ -e bin/$(MAIN).class ] || echo You need to build the sources - @[ -e bin/$(MAIN).class ] - @echo Compiling test program... - @[ "$(TEST)" != "" ] || echo No test sources defined. - @[ "$(TEST)" = "" ] || for sup in $(TEST); do \ - echo " src/$$sup" ;\ - $(JAVAC) $(JAVAC_FLAGS) "src/$$sup.java" ; \ - done - -clean: - rm -rf bin/ - @echo Removing sources taken from libs... - @for lib in libs/*-sources.jar libs/*-sources.patch.jar; do \ - if [ "$$lib" != 'libs/*-sources.jar' -a "$$lib" != 'libs/*-sources.patch.jar' ]; then \ - basename "$$lib"; \ - jar tf "$$lib" | while read -r ln; do \ - [ -f "src/$$ln" ] && rm "src/$$ln"; \ - done; \ - jar tf "$$lib" | tac | while read -r ln; do \ - [ -d "src/$$ln" ] && rmdir "src/$$ln" 2>/dev/null || true; \ - done; \ - fi \ - done - -mrproper: mrpropre - -mrpropre: clean - rm -f $(NAME).jar - rm -f $(NAME)-sources.jar - rm -f $(NAME).apk - rm -f $(NAME)-debug.apk - [ ! -e VERSION ] || rm -f "$(NAME)-`cat VERSION`.jar" - [ ! -e VERSION ] || rm -f "$(NAME)-`cat VERSION`-sources.jar" - -love: - @echo " ...not war." - -resources: libs - @echo Copying resources into bin/... - @cd src && find . | grep -v '\.java$$' | grep -v '/test/' | while read -r ln; do \ - if [ -f "$$ln" ]; then \ - dir="`dirname "$$ln"`"; \ - mkdir -p "../bin/$$dir" ; \ - cp "$$ln" "../bin/$$ln" ; \ - fi ; \ - done - @cp VERSION bin/ - -test-resources: resources - @echo Copying test resources into bin/... - @cd src && find . | grep -v '\.java$$' | grep '/test/' | while read -r ln; do \ - if [ -f "$$ln" ]; then \ - dir="`dirname "$$ln"`"; \ - mkdir -p "../bin/$$dir" ; \ - cp "$$ln" "../bin/$$ln" ; \ - fi ; \ - done - -libs: bin - @[ -e bin/libs -o ! -d libs ] || echo Extracting sources from libs... - @[ -e bin/libs -o ! -d libs ] || (cd src && for lib in ../libs/*-sources.jar ../libs/*-sources.patch.jar; do \ - if [ "$$lib" != '../libs/*-sources.jar' -a "$$lib" != '../libs/*-sources.patch.jar' ]; then \ - basename "$$lib"; \ - jar xf "$$lib"; \ - fi \ - done ) - @[ ! -d libs ] || touch bin/libs - -$(NAME)-sources.jar: libs - @ls *.md >/dev/null || cp VERSION README.md - @echo Making sources JAR file... - @echo > bin/manifest - @[ "$(SJAR_FLAGS)" != "" ] || echo No sources JAR file defined, skipping - @[ "$(SJAR_FLAGS)" = "" ] || echo Creating $(NAME)-sources.jar... - @[ "$(SJAR_FLAGS)" = "" ] || $(JAR) cfm $(NAME)-sources.jar bin/manifest -C ./ *.md $(SJAR_FLAGS) - @[ "$(SJAR_FLAGS)" = "" ] || [ ! -e VERSION ] || echo Copying to "$(NAME)-`cat VERSION`-sources.jar"... - @[ "$(SJAR_FLAGS)" = "" ] || [ ! -e VERSION ] || cp $(NAME)-sources.jar "$(NAME)-`cat VERSION`-sources.jar" - -$(NAME).jar: resources - @[ -e bin/$(MAIN).class ] || echo You need to build the sources - @[ -e bin/$(MAIN).class ] - @ls *.md >/dev/null || cp VERSION README.md - @echo "Copying documentation into bin/..." - @cp -r *.md bin/ || cp VERSION bin/no-documentation.md - @[ ! -d libs/bin/ ] || echo "Copying additional binaries from libs/bin/ into bin/..." - @[ ! -d libs/bin/ ] || cp -r libs/bin/* bin/ - @echo "Copying sources into bin/..." - @cp -r src/* bin/ - @echo "Making jar..." - @echo "Main-Class: `echo "$(MAIN)" | sed 's:/:.:g'`" > bin/manifest - @echo >> bin/manifest - $(JAR) cfm $(NAME).jar bin/manifest -C ./ *.md $(JAR_FLAGS) - @[ ! -e VERSION ] || echo Copying to "$(NAME)-`cat VERSION`.jar"... - @[ ! -e VERSION ] || cp $(NAME).jar "$(NAME)-`cat VERSION`.jar" - -run: - @[ -e bin/$(MAIN).class ] || echo You need to build the sources - @[ -e bin/$(MAIN).class ] - @echo Running "$(NAME)"... - $(JAVA) $(JAVA_FLAGS) $(MAIN) - -jrun: - @[ -e $(NAME).jar ] || echo You need to build the jar - @[ -e $(NAME).jar ] - @echo Running "$(NAME).jar"... - $(RJAR) $(RJAR_FLAGS) $(NAME).jar - -run-test: - @[ "$(TEST)" = "" -o -e "bin/$(TEST).class" ] || echo You need to build the test sources - @[ "$(TEST)" = "" -o -e "bin/$(TEST).class" ] - @echo Running tests for "$(NAME)"... - @[ "$(TEST)" != "" ] || echo No test sources defined. - [ "$(TEST)" = "" ] || ( clear ; $(JAVA) $(JAVA_FLAGS) $(TEST) $(TEST_PARAMS) ) - -install: - @[ -e $(NAME).jar ] || echo You need to build the jar - @[ -e $(NAME).jar ] - mkdir -p "$(PREFIX)/lib" "$(PREFIX)/bin" - cp $(NAME).jar "$(PREFIX)/lib/" - echo "#!/bin/sh" > "$(PREFIX)/bin/$(NAME)" - echo "$(RJAR) $(RJAR_FLAGS) \"$(PREFIX)/lib/$(NAME).jar\" \"\$$@\"" >> "$(PREFIX)/bin/$(NAME)" - chmod a+rx "$(PREFIX)/bin/$(NAME)" - if [ -e "man/man1/$(NAME).1" ]; then \ - cp -r man/ "$(PREFIX)"/share/; \ - fi - -ifman: - @if pandoc -v >/dev/null 2>&1; then \ - make man; \ - else \ - echo "man pages not generated: "'`'"pandoc' required"; \ - fi - -man: - @echo Checking for possible manual pages... - @if [ -e README.md ]; then \ - echo Sources found for man pages; \ - if pandoc -v >/dev/null 2>&1; then \ - ls README*.md 2>/dev/null \ - | grep 'README\(-..\|\)\.md' \ - | while read man; do \ - echo " Processing page $$lang..."; \ - lang="`echo "$$man" \ - | sed 's:README\.md:en:' \ - | sed 's:README-\(.*\)\.md:\1:'`"; \ - mkdir -p man/"$$lang"/man1; \ - ( \ - echo ".TH \"${NAME}\" 1 `\ - date +%Y-%m-%d\ - ` \"version `cat VERSION`\""; \ - echo; \ - UNAME="`echo "${NAME}" \ - | sed 's:\(.*\):\U\1:g'`"; \ - ( \ - cat "$$man" | head -n1 \ - | sed 's:.*(README\(-fr\|\)\.md).*::g'; \ - cat "$$man" | tail -n+2; \ - ) | sed 's:^#\(#.*\):\1:g' \ - | sed 's:^\(#.*\):\U\1:g;s:# *'"$$UNAME"':# NAME\n'"${NAME}"' \\- :g' \ - | sed 's:--:——:g' \ - | pandoc -f markdown -t man | sed 's:——:--:g' ; \ - ) > man/"$$lang"/man1/"${NAME}.1"; \ - done; \ - mkdir -p "man/man1"; \ - cp man/en/man1/"${NAME}".1 man/man1/; \ - else \ - echo "man pages generation: pandoc required" >&2; \ - false; \ - fi; \ - fi; - diff --git a/configure.sh b/configure.sh deleted file mode 100755 index 8c5dbdd..0000000 --- a/configure.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -# default: -PREFIX=/usr/local -PROGS="java javac jar make sed" - -IMG=be/nikiroo/utils/ui/ImageUtilsAwt - -valid=true -while [ "$*" != "" ]; do - key=`echo "$1" | cut -f1 -d=` - val=`echo "$1" | cut -f2 -d=` - case "$key" in - --) - ;; - --help) # This help message - echo The following arguments can be used: - cat "$0" | grep '^\s*--' | grep '#' | while read ln; do - cmd=`echo "$ln" | cut -f1 -d')'` - msg=`echo "$ln" | cut -f2 -d'#'` - echo " $cmd$msg" - done - ;; - --prefix) #=PATH Change the prefix to the given path - PREFIX="$val" - ;; - *) - echo "Unsupported parameter: '$1'" >&2 - echo >&2 - sh "$0" --help >&2 - valid=false - ;; - esac - shift -done - -[ $valid = false ] && exit 1 - -MESS="A required program cannot be found:" -for prog in $PROGS; do - out="`whereis -b "$prog" 2>/dev/null`" - if [ "$out" = "$prog:" ]; then - echo "$MESS $prog" >&2 - valid=false - fi -done - -[ $valid = false ] && exit 2 - -if [ "`whereis tput`" = "tput:" ]; then - ok='"[ ok ]"'; - ko='"[ !! ]"'; - cols=80; -else - #ok='"`tput bold`[`tput setf 2` OK `tput init``tput bold`]`tput init`"'; - #ko='"`tput bold`[`tput setf 4` !! `tput init``tput bold`]`tput init`"'; - ok='"`tput bold`[`tput setaf 2` OK `tput init``tput bold`]`tput init`"'; - ko='"`tput bold`[`tput setaf 1` !! `tput init``tput bold`]`tput init`"'; - cols='"`tput cols`"'; -fi; - -echo "MAIN = be/nikiroo/fanfix/Main" > Makefile -echo "MORE = $IMG" >> Makefile -echo "TEST = be/nikiroo/fanfix/test/Test" >> Makefile -echo "TEST_PARAMS = $cols $ok $ko" >> Makefile -echo "NAME = fanfix" >> Makefile -echo "PREFIX = $PREFIX" >> Makefile -echo "JAR_FLAGS += -C bin/ org -C bin/ be -C ./ LICENSE -C ./ VERSION -C libs/ licenses" >> Makefile -echo "SJAR_FLAGS += -C src/ org -C src/ be" >> Makefile - -cat Makefile.base >> Makefile - diff --git a/man.d b/man.d new file mode 100644 index 0000000..ab527b4 --- /dev/null +++ b/man.d @@ -0,0 +1,70 @@ +# Requires variables: NAME, PREFIX (for install and uninstall only) + +.PHONY: man mrpropre mrproper install uninstall + +man: VERSION README.md README*.md + @if pandoc -v >/dev/null 2>&1; then \ + ls README*.md 2>/dev/null \ + | grep 'README\(-..\|\)\.md' \ + | while read man; do \ + lang="`echo "$$man" \ + | sed 's:README\.md:en:' \ + | sed 's:README-\(.*\)\.md:\1:'`"; \ + echo "Processing language: $$lang..."; \ + echo mkdir -p man/"$$lang"/man1; \ + mkdir -p man/"$$lang"/man1; \ + echo "pandoc [...] > man/$$lang"/man1/"${NAME}.1"; \ + ( \ + echo ".TH \"${NAME}\" 1 `\ + date +%Y-%m-%d\ + ` \"version `cat VERSION`\""; \ + echo; \ + UNAME="`echo "${NAME}" \ + | sed 's:\(.*\):\U\1:g'`"; \ + ( \ + cat "$$man" | head -n1 \ + | sed 's:.*(README\(-..\|\)\.md).*::g'; \ + cat "$$man" | tail -n+2; \ + ) | sed 's:^#\(#.*\):\1:g' \ + | sed 's:^\(#.*\):\U\1:g;s:# *'"$$UNAME"':# NAME\n'"${NAME}"' \\- :g' \ + | sed 's:--:——:g' \ + | pandoc -f markdown -t man | sed 's:——:--:g' ; \ + ) > man/"$$lang"/man1/"${NAME}.1"; \ + done; \ + echo mkdir -p "man/man1"; \ + mkdir -p "man/man1"; \ + echo cp man/en/man1/"${NAME}".1 man/man1/; \ + cp man/en/man1/"${NAME}".1 man/man1/; \ + else \ + echo "man pages generation: pandoc required" >&2; \ + false; \ + fi; \ + +mrproper: mrpropre +mrpropre: + rm -f man/man1/*.1 man/*/man1/*.1 + rmdir man/*/man1 man/* man 2>/dev/null || true + +install: + @if [ -e "man/man1/$(NAME).1" ]; then \ + echo mkdir -p "$(PREFIX)"/share/man; \ + mkdir -p "$(PREFIX)"/share/man; \ + echo cp -r man "$(PREFIX)"/share/; \ + cp -r man "$(PREFIX)"/share/; \ + else \ + echo "No manual has been built (see \`make man')"; \ + fi + +uninstall: + @if [ -e "man/man1/$(NAME).1" ]; then \ + find man/ -type f | while read -r page; do \ + echo rm "$(PREFIX)/share/$$page";\ + rm "$(PREFIX)/share/$$page";\ + done; \ + echo rmdir "$(PREFIX)/share/man" 2>/dev/null \|\| true; \ + rmdir "$(PREFIX)/share/man" 2>/dev/null || true; \ + rmdir "$(PREFIX)/share" 2>/dev/null || true; \ + else \ + echo "No manual has been built (see \`make man')"; \ + fi + -- 2.27.0