From 3a9d8f25d0e1334b11d755e723f08a02b69a69d3 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sat, 11 Dec 2010 23:53:34 +0000 Subject: [PATCH] Also installing a pkg-config file --- Makefile | 7 +++++- config.sh | 5 +++++ data/Makefile | 27 +++++++++++++++++++++++ data/cpp.pc.in | 10 +++++++++ data/pkgconfig.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++ data/project.conf | 8 +++++++ project.conf | 6 +++--- 7 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 config.sh create mode 100644 data/Makefile create mode 100644 data/cpp.pc.in create mode 100755 data/pkgconfig.sh create mode 100644 data/project.conf diff --git a/Makefile b/Makefile index 9423072..5f8c485 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ PACKAGE = cpp VERSION = 0.0.1 -SUBDIRS = include src +SUBDIRS = data include src RM = rm -f LN = ln -f TAR = tar -czvf @@ -21,6 +21,10 @@ dist: $(RM) -r -- $(PACKAGE)-$(VERSION) $(LN) -s -- . $(PACKAGE)-$(VERSION) @$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \ + $(PACKAGE)-$(VERSION)/data/Makefile \ + $(PACKAGE)-$(VERSION)/data/cpp.pc.in \ + $(PACKAGE)-$(VERSION)/data/pkgconfig.sh \ + $(PACKAGE)-$(VERSION)/data/project.conf \ $(PACKAGE)-$(VERSION)/include/cpp.h \ $(PACKAGE)-$(VERSION)/include/Makefile \ $(PACKAGE)-$(VERSION)/include/project.conf \ @@ -35,6 +39,7 @@ dist: $(PACKAGE)-$(VERSION)/Makefile \ $(PACKAGE)-$(VERSION)/COPYING \ $(PACKAGE)-$(VERSION)/config.h \ + $(PACKAGE)-$(VERSION)/config.sh \ $(PACKAGE)-$(VERSION)/project.conf $(RM) -- $(PACKAGE)-$(VERSION) diff --git a/config.sh b/config.sh new file mode 100644 index 0000000..3efa672 --- /dev/null +++ b/config.sh @@ -0,0 +1,5 @@ +PACKAGE="cpp" +VERSION="0.0.1" + +PREFIX="/usr/local" +LIBDIR="${PREFIX}/lib" diff --git a/data/Makefile b/data/Makefile new file mode 100644 index 0000000..644352f --- /dev/null +++ b/data/Makefile @@ -0,0 +1,27 @@ +TARGETS = cpp.pc +PREFIX = /usr/local +DESTDIR = +RM = rm -f +LN = ln -f +MKDIR = mkdir -p +INSTALL = install + + +all: $(TARGETS) + +cpp.pc: cpp.pc.in ../config.sh + ./pkgconfig.sh "cpp.pc" + +clean: + $(RM) -- $(cpp.pc_OBJS) + +distclean: clean + $(RM) -- $(TARGETS) + +install: all + ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" install "cpp.pc" + +uninstall: + ./pkgconfig.sh -p "$(DESTDIR)$(PREFIX)" uninstall "cpp.pc" + +.PHONY: all clean distclean install uninstall diff --git a/data/cpp.pc.in b/data/cpp.pc.in new file mode 100644 index 0000000..0104a40 --- /dev/null +++ b/data/cpp.pc.in @@ -0,0 +1,10 @@ +prefix=PREFIX +includedir=${prefix}/include +exec_prefix=${prefix} +libdir=${exec_prefix}/lib + +Name: cpp +Description: DeforaOS Development code pre-processor +Version: VERSION +Cflags: -I${includedir} +Libs: -Wl,-R${libdir} -L${libdir} -lcpp diff --git a/data/pkgconfig.sh b/data/pkgconfig.sh new file mode 100755 index 0000000..4d86320 --- /dev/null +++ b/data/pkgconfig.sh @@ -0,0 +1,55 @@ +#!/bin/sh +#$Id$ + + + +#variables +. "../config.sh" +DEBUG="_debug" +INSTALL="install -m 0644" +MKDIR="mkdir -p" +RM="rm -f" +SED="sed" + + +#functions +#debug +_debug() +{ + echo $@ + $@ +} + + +#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 + 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 + _usage + exit $? +fi + +$SED -e "s,PREFIX,$PREFIX," -e "s,VERSION,$VERSION," "$1.in" > "$1" diff --git a/data/project.conf b/data/project.conf new file mode 100644 index 0000000..a1837ee --- /dev/null +++ b/data/project.conf @@ -0,0 +1,8 @@ +targets=cpp.pc +dist=Makefile,cpp.pc.in,pkgconfig.sh + +[cpp.pc] +type=script +script=./pkgconfig.sh +depends=cpp.pc.in,../config.sh +install= diff --git a/project.conf b/project.conf index 8f526a7..e8c2e9d 100644 --- a/project.conf +++ b/project.conf @@ -1,6 +1,6 @@ package=cpp version=0.0.1 -config=h +config=h,sh -subdirs=include,src -dist=Makefile,COPYING,config.h +subdirs=data,include,src +dist=Makefile,COPYING,config.h,config.sh