diff --git a/data/Makefile b/data/Makefile index 6331989..84d430c 100644 --- a/data/Makefile +++ b/data/Makefile @@ -10,7 +10,7 @@ INSTALL = install all: $(TARGETS) libDesktop.pc: libDesktop.pc.in ../config.sh - ./pkgconfig.sh "libDesktop.pc" + ./pkgconfig.sh -P "$(PREFIX)" -- "libDesktop.pc" clean: $(RM) -- $(libDesktop.pc_OBJS) @@ -19,9 +19,9 @@ distclean: clean $(RM) -- $(TARGETS) install: all - ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" install "libDesktop.pc" + ./pkgconfig.sh -P "$(DESTDIR)$(PREFIX)" -i -- "libDesktop.pc" uninstall: - ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" uninstall "libDesktop.pc" + ./pkgconfig.sh -P "$(DESTDIR)$(PREFIX)" -u -- "libDesktop.pc" .PHONY: all clean distclean install uninstall diff --git a/data/pkgconfig.sh b/data/pkgconfig.sh index 4d86320..392347a 100755 --- a/data/pkgconfig.sh +++ b/data/pkgconfig.sh @@ -24,32 +24,58 @@ _debug() #usage _usage() { - echo "Usage: pkgconfig.sh target" 1>&2 - echo " pkgconfig.sh -p prefix install target" 1>&2 - echo " pkgconfig.sh -p prefix uninstall target" 1>&2 + echo "Usage: pkgconfig.sh [-i|-u][-P prefix] target" 1>&2 return 1 } #main -if [ $# -eq 4 -a "$1" = "-p" ]; then - PREFIX="$2" - PKGCONFIG="$PREFIX/lib/pkgconfig" - - if [ "$3" = "install" ]; then - $DEBUG $MKDIR "$PKGCONFIG" || exit 2 - $DEBUG $INSTALL "$4" "$PKGCONFIG/$4" || exit 2 - exit 0 - elif [ "$3" = "uninstall" ]; then - $DEBUG $RM "$PKGCONFIG/$4" || exit 2 - exit 0 - else - echo "pkgconfig.sh: $3: Unknown operation" 1>&2 - fi -fi -if [ $# -ne 1 ]; then +args=`getopt iuP: $*` +if [ $? -ne 0 ]; then _usage exit $? fi +set -- $args +install=0 +uninstall=0 +while [ $# -gt 0 ]; do + case "$1" in + -i) + install=1 + ;; + -u) + uninstall=1 + ;; + -P) + PREFIX="$2" + shift + ;; + --) + shift + break + ;; + esac + shift +done -$SED -e "s,PREFIX,$PREFIX," -e "s,VERSION,$VERSION," "$1.in" > "$1" +PKGCONFIG="$PREFIX/lib/pkgconfig" +while [ $# -gt 0 ]; do + target="$1" + shift + + #uninstall + if [ "$uninstall" -eq 1 ]; then + $DEBUG $RM "$PKGCONFIG/$target" || exit 2 + continue + fi + + #create + $SED -e "s,PREFIX,$PREFIX," -e "s,VERSION,$VERSION," "$target.in" \ + > "$target" || exit 2 + + #install + if [ "$install" -eq 1 ]; then + $DEBUG $MKDIR "$PKGCONFIG" || exit 2 + $DEBUG $INSTALL "$target" "$PKGCONFIG/$target" || exit 2 + fi +done