diff --git a/Makefile b/Makefile index 8d41974..0c52e2f 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,8 @@ VERSION = 0.1.5 SUBDIRS = data doc include src src/transport tests tools RM = rm -f LN = ln -f -TAR = tar -czvf +TAR = tar +MKDIR = mkdir -m 0755 -p all: subdirs @@ -20,7 +21,7 @@ distclean: dist: $(RM) -r -- $(PACKAGE)-$(VERSION) $(LN) -s -- . $(PACKAGE)-$(VERSION) - @$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \ + @$(TAR) -czvf $(PACKAGE)-$(VERSION).tar.gz -- \ $(PACKAGE)-$(VERSION)/data/Makefile \ $(PACKAGE)-$(VERSION)/data/Dummy.interface \ $(PACKAGE)-$(VERSION)/data/appbroker.sh \ @@ -93,10 +94,21 @@ dist: $(PACKAGE)-$(VERSION)/project.conf $(RM) -- $(PACKAGE)-$(VERSION) +distcheck: dist + $(TAR) -xzvf $(PACKAGE)-$(VERSION).tar.gz + $(MKDIR) -- $(PACKAGE)-$(VERSION)/objdir + $(MKDIR) -- $(PACKAGE)-$(VERSION)/destdir + (cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/") + (cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" install) + (cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" DESTDIR="$$PWD/destdir" uninstall) + (cd "$(PACKAGE)-$(VERSION)" && $(MAKE) OBJDIR="$$PWD/objdir/" distclean) + (cd "$(PACKAGE)-$(VERSION)" && $(MAKE) dist) + $(RM) -r -- $(PACKAGE)-$(VERSION) + install: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done uninstall: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done -.PHONY: all subdirs clean distclean dist install uninstall +.PHONY: all subdirs clean distclean dist distcheck install uninstall diff --git a/data/Makefile b/data/Makefile index 089a644..3ed6a6e 100644 --- a/data/Makefile +++ b/data/Makefile @@ -1,7 +1,8 @@ MKDIR = mkdir -m 0755 -p INSTALL = install RM = rm -f -TARGETS = libApp.pc +TARGETS = $(OBJDIR)libApp.pc +OBJDIR = PREFIX = /usr/local DESTDIR = RM = rm -f @@ -12,8 +13,8 @@ INSTALL = install all: $(TARGETS) -libApp.pc: libApp.pc.in ../config.sh - ./pkgconfig.sh -P "$(PREFIX)" -- "libApp.pc" +$(OBJDIR)libApp.pc: libApp.pc.in ../config.sh + ./pkgconfig.sh -P "$(PREFIX)" -- "$(OBJDIR)libApp.pc" clean: $(RM) -- $(libApp.pc_OBJS) @@ -23,7 +24,7 @@ distclean: clean $(RM) -- $(TARGETS) install: $(TARGETS) - ./pkgconfig.sh -P "$(DESTDIR)$(PREFIX)" -i -- "libApp.pc" + ./pkgconfig.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)libApp.pc" $(MKDIR) $(DESTDIR)$(PREFIX)/etc/AppInterface $(INSTALL) -m 0644 Dummy.interface $(DESTDIR)$(PREFIX)/etc/AppInterface/Dummy.interface diff --git a/data/appbroker.sh b/data/appbroker.sh index 5c26c2a..5951090 100755 --- a/data/appbroker.sh +++ b/data/appbroker.sh @@ -62,7 +62,8 @@ fi [ "$clean" -ne 0 ] && exit 0 -APPINTERFACE="$1" -APPINTERFACE="${APPINTERFACE##*/}" +target="$1" +source="${target#$OBJDIR}" +APPINTERFACE="${source##*/}" APPINTERFACE="../data/${APPINTERFACE%%.h}.interface" -$APPBROKER -o "$1" "$APPINTERFACE" +$APPBROKER -o "$target" "$APPINTERFACE" diff --git a/data/pkgconfig.sh b/data/pkgconfig.sh index 5482795..95a0ac9 100755 --- a/data/pkgconfig.sh +++ b/data/pkgconfig.sh @@ -119,8 +119,9 @@ while [ $# -gt 0 ]; do #install if [ "$install" -eq 1 ]; then + source="${target#$OBJDIR}" $DEBUG $MKDIR -- "$PKGCONFIG" || exit 2 - $DEBUG $INSTALL "$target" "$PKGCONFIG/$target" || exit 2 + $DEBUG $INSTALL "$target" "$PKGCONFIG/$source" || exit 2 continue fi @@ -129,18 +130,23 @@ while [ $# -gt 0 ]; do if [ "$PREFIX" != "/usr" ]; then RPATH="-Wl,-rpath-link,\${libdir} -Wl,-rpath,\${libdir}" case $(uname -s) in - Darwin|SunOS) + Darwin) RPATH="-Wl,-rpath,\${libdir}" ;; + SunOS) + RPATH="-Wl,-R\${libdir}" + ;; esac fi #create + source="${target#$OBJDIR}" + source="${source}.in" $DEBUG $SED -e "s;@PACKAGE@;$PACKAGE;" \ -e "s;@VERSION@;$VERSION;" \ -e "s;@PREFIX@;$PREFIX;" \ -e "s;@RPATH@;$RPATH;" \ - -- "$target.in" > "$target" + -- "$source" > "$target" if [ $? -ne 0 ]; then $DEBUG $RM -- "$target" exit 2 diff --git a/doc/Makefile b/doc/Makefile index 7c14026..6ed32a6 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,5 +1,6 @@ SUBDIRS = gtkdoc -TARGETS = AppBroker.1 AppBroker.html AppClient.1 AppClient.html gtkdoc/libApp.types gtkdoc/tmpl.stamp gtkdoc/sgml.stamp gtkdoc/html.stamp +TARGETS = $(OBJDIR)AppBroker.1 $(OBJDIR)AppBroker.html $(OBJDIR)AppClient.1 $(OBJDIR)AppClient.html $(OBJDIR)gtkdoc/libApp.types $(OBJDIR)gtkdoc/tmpl.stamp $(OBJDIR)gtkdoc/sgml.stamp $(OBJDIR)gtkdoc/html.stamp +OBJDIR = PREFIX = /usr/local DESTDIR = RM = rm -f @@ -13,29 +14,29 @@ all: subdirs $(TARGETS) subdirs: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done -AppBroker.1: AppBroker.xml - ./docbook.sh -P "$(PREFIX)" -- "AppBroker.1" +$(OBJDIR)AppBroker.1: AppBroker.xml + ./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)AppBroker.1" -AppBroker.html: AppBroker.css.xml AppBroker.xml manual.css.xml - ./docbook.sh -P "$(PREFIX)" -- "AppBroker.html" +$(OBJDIR)AppBroker.html: AppBroker.css.xml AppBroker.xml manual.css.xml + ./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)AppBroker.html" -AppClient.1: AppClient.xml - ./docbook.sh -P "$(PREFIX)" -- "AppClient.1" +$(OBJDIR)AppClient.1: AppClient.xml + ./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)AppClient.1" -AppClient.html: AppClient.css.xml AppClient.xml manual.css.xml - ./docbook.sh -P "$(PREFIX)" -- "AppClient.html" +$(OBJDIR)AppClient.html: AppClient.css.xml AppClient.xml manual.css.xml + ./docbook.sh -P "$(PREFIX)" -- "$(OBJDIR)AppClient.html" -gtkdoc/libApp.types: - ./gtkdoc.sh -P "$(PREFIX)" -- "gtkdoc/libApp.types" +$(OBJDIR)gtkdoc/libApp.types: + ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/libApp.types" -gtkdoc/tmpl.stamp: gtkdoc/libApp.types - ./gtkdoc.sh -P "$(PREFIX)" -- "gtkdoc/tmpl.stamp" +$(OBJDIR)gtkdoc/tmpl.stamp: $(OBJDIR)gtkdoc/libApp.types + ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/tmpl.stamp" -gtkdoc/sgml.stamp: gtkdoc/tmpl.stamp - ./gtkdoc.sh -P "$(PREFIX)" -- "gtkdoc/sgml.stamp" +$(OBJDIR)gtkdoc/sgml.stamp: $(OBJDIR)gtkdoc/tmpl.stamp + ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/sgml.stamp" -gtkdoc/html.stamp: gtkdoc/libApp-docs.xml gtkdoc/sgml.stamp gtkdoc/tmpl.stamp - ./gtkdoc.sh -P "$(PREFIX)" -- "gtkdoc/html.stamp" +$(OBJDIR)gtkdoc/html.stamp: gtkdoc/libApp-docs.xml $(OBJDIR)gtkdoc/sgml.stamp $(OBJDIR)gtkdoc/tmpl.stamp + ./gtkdoc.sh -P "$(PREFIX)" -- "$(OBJDIR)gtkdoc/html.stamp" clean: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) clean) || exit; done @@ -64,9 +65,9 @@ distclean: install: $(TARGETS) @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done - ./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "AppBroker.1" - ./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "AppBroker.html" - ./gtkdoc.sh -P "$(DESTDIR)$(PREFIX)" -i -- "gtkdoc/html.stamp" + ./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)AppBroker.1" + ./docbook.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)AppBroker.html" + ./gtkdoc.sh -P "$(DESTDIR)$(PREFIX)" -i -- "$(OBJDIR)gtkdoc/html.stamp" uninstall: @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done diff --git a/doc/docbook.sh b/doc/docbook.sh index 0caaa39..fda4e2d 100755 --- a/doc/docbook.sh +++ b/doc/docbook.sh @@ -27,6 +27,7 @@ #variables PREFIX="/usr/local" [ -f "../config.sh" ] && . "../config.sh" +PROGNAME="docbook.sh" #executables DEBUG="_debug" FOP="fop" @@ -52,17 +53,24 @@ _docbook() target="$1" source="${target%.*}.xml" + [ -f "$source" ] || source="${source#$OBJDIR}" ext="${target##*.}" ext="${ext##.}" case "$ext" in html) XSL="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" + [ -f "${source%.*}.xsl" ] && XSL="${source%.*}.xsl" [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" - [ -f "${target%.*}.css.xml" ] && XSLTPROC="$XSLTPROC --param custom.css.source \"${target%.*}.css.xml\" --param generate.css.header 1" + if [ -f "${target%.*}.css.xml" ]; then + XSLTPROC="$XSLTPROC --param custom.css.source \"${target%.*}.css.xml\" --param generate.css.header 1" + elif [ -f "${source%.*}.css.xml" ]; then + XSLTPROC="$XSLTPROC --param custom.css.source \"${source%.*}.css.xml\" --param generate.css.header 1" + fi $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" ;; pdf) XSL="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl" + [ -f "${source%.*}.xsl" ] && XSL="${source%.*}.xsl" [ -f "${target%.*}.xsl" ] && XSL="${target%.*}.xsl" $DEBUG $XSLTPROC -o "${target%.*}.fo" "$XSL" "$source" && $DEBUG $FOP -fo "${target%.*}.fo" -pdf "$target" @@ -73,13 +81,13 @@ _docbook() $DEBUG $XSLTPROC -o "$target" "$XSL" "$source" ;; *) - echo "$0: $target: Unknown type" 1>&2 + _error "$target: Unknown type" return 2 ;; esac if [ $? -ne 0 ]; then - echo "$0: $target: Could not create page" 1>&2 + _error "$target: Could not create page" $RM -- "$target" return 2 fi @@ -89,7 +97,7 @@ _docbook() #error _error() { - echo "docbook.sh: $@" 1>&2 + echo "$PROGNAME: $@" 1>&2 return 2 } @@ -97,7 +105,7 @@ _error() #usage _usage() { - echo "Usage: docbook.sh [-c|-i|-u][-P prefix] target..." 1>&2 + echo "Usage: $PROGNAME [-c|-i|-u][-P prefix] target..." 1>&2 return 1 } @@ -153,7 +161,8 @@ while [ $# -gt 0 ]; do case "$ext" in html) instdir="$DATADIR/doc/$ext/$PACKAGE" - source="${target%.*}.xml" + source="${target#$OBJDIR}" + source="${source%.*}.xml" xpath="string(/refentry/refmeta/manvolnum)" section=$($XMLLINT --xpath "$xpath" "$source") if [ $? -eq 0 -a -n "$section" ]; then @@ -167,7 +176,7 @@ while [ $# -gt 0 ]; do instdir="$MANDIR/man$ext" ;; *) - echo "$0: $target: Unknown type" 1>&2 + _error "$target: Unknown type" exit 2 ;; esac @@ -177,14 +186,16 @@ while [ $# -gt 0 ]; do #uninstall if [ "$uninstall" -eq 1 ]; then + target="${target#$OBJDIR}" $DEBUG $RM -- "$instdir/$target" || exit 2 continue fi #install if [ "$install" -eq 1 ]; then + source="${target#$OBJDIR}" $DEBUG $MKDIR -- "$instdir" || exit 2 - $DEBUG $INSTALL "$target" "$instdir/$target" || exit 2 + $DEBUG $INSTALL "$target" "$instdir/$source" || exit 2 continue fi diff --git a/doc/gtkdoc.sh b/doc/gtkdoc.sh index 34ecae5..ff3ac45 100755 --- a/doc/gtkdoc.sh +++ b/doc/gtkdoc.sh @@ -26,7 +26,7 @@ #variables PREFIX="/usr/local" -[ -f "../config.sh" ] && . "../config.sh" +PROGNAME="gtkdoc.sh" #executables DEBUG="_debug" GTKDOC_FIXXREF="gtkdoc-fixxref" @@ -39,6 +39,8 @@ MKDIR="mkdir -m 0755 -p" RM="rm -f" TOUCH="touch" +[ -f "../config.sh" ] && . "../config.sh" + #functions #debug @@ -52,7 +54,7 @@ _debug() #error _error() { - echo "gtkdoc.sh: $@" 1>&2 + echo "$PROGNAME: $@" 1>&2 return 2 } @@ -60,7 +62,7 @@ _error() #usage _usage() { - echo "Usage: gtkdoc.sh [-c|-i|-u][-P prefix] target..." 1>&2 + echo "Usage: $PROGNAME [-c|-i|-u][-P prefix] target..." 1>&2 return 1 } @@ -109,6 +111,8 @@ instdir="$DATADIR/gtk-doc/html" while [ $# -gt 0 ]; do target="$1" + #XXX ignore OBJDIR + target="${target#$OBJDIR}" shift #clean diff --git a/doc/project.conf b/doc/project.conf index 0b65924..261f350 100644 --- a/doc/project.conf +++ b/doc/project.conf @@ -33,15 +33,15 @@ script=./gtkdoc.sh [gtkdoc/tmpl.stamp] type=script script=./gtkdoc.sh -depends=gtkdoc/libApp.types +depends=$(OBJDIR)gtkdoc/libApp.types [gtkdoc/sgml.stamp] type=script script=./gtkdoc.sh -depends=gtkdoc/tmpl.stamp +depends=$(OBJDIR)gtkdoc/tmpl.stamp [gtkdoc/html.stamp] type=script script=./gtkdoc.sh -depends=gtkdoc/libApp-docs.xml,gtkdoc/sgml.stamp,gtkdoc/tmpl.stamp +depends=gtkdoc/libApp-docs.xml,$(OBJDIR)gtkdoc/sgml.stamp,$(OBJDIR)gtkdoc/tmpl.stamp install= diff --git a/include/App/Makefile b/include/App/Makefile index ff222f2..3247f3b 100644 --- a/include/App/Makefile +++ b/include/App/Makefile @@ -1,3 +1,4 @@ +OBJDIR = PREFIX = /usr/local DESTDIR = RM = rm -f diff --git a/include/Makefile b/include/Makefile index c87d355..8ad1805 100644 --- a/include/Makefile +++ b/include/Makefile @@ -1,4 +1,5 @@ SUBDIRS = App +OBJDIR = PREFIX = /usr/local DESTDIR = RM = rm -f diff --git a/src/Makefile b/src/Makefile index 88fea99..c9118a4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,5 @@ -TARGETS = libApp.a libApp.so.0.0 libApp.so.0 libApp.so +TARGETS = $(OBJDIR)libApp.a $(OBJDIR)libApp.so.0.0 $(OBJDIR)libApp.so.0 $(OBJDIR)libApp.so +OBJDIR = PREFIX = /usr/local DESTDIR = LIBDIR = $(PREFIX)/lib @@ -20,36 +21,36 @@ INSTALL = install all: $(TARGETS) -libApp_OBJS = appclient.o appinterface.o appmessage.o appserver.o apptransport.o marshall.o +libApp_OBJS = $(OBJDIR)appclient.o $(OBJDIR)appinterface.o $(OBJDIR)appmessage.o $(OBJDIR)appserver.o $(OBJDIR)apptransport.o $(OBJDIR)marshall.o libApp_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) libApp_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -libApp.a: $(libApp_OBJS) - $(AR) -rc libApp.a $(libApp_OBJS) - $(RANLIB) libApp.a +$(OBJDIR)libApp.a: $(libApp_OBJS) + $(AR) -rc $(OBJDIR)libApp.a $(libApp_OBJS) + $(RANLIB) $(OBJDIR)libApp.a -libApp.so.0.0 libApp.so.0 libApp.so: $(libApp_OBJS) - $(CCSHARED) -o libApp.so.0.0 -Wl,-soname,libApp.so.0 $(libApp_OBJS) $(libApp_LDFLAGS) - $(LN) -s -- libApp.so.0.0 libApp.so.0 - $(LN) -s -- libApp.so.0.0 libApp.so +$(OBJDIR)libApp.so.0.0 $(OBJDIR)libApp.so.0 $(OBJDIR)libApp.so: $(libApp_OBJS) + $(CCSHARED) -o $(OBJDIR)libApp.so.0.0 -Wl,-soname,libApp.so.0 $(libApp_OBJS) $(libApp_LDFLAGS) + $(LN) -s -- libApp.so.0.0 $(OBJDIR)libApp.so.0 + $(LN) -s -- libApp.so.0.0 $(OBJDIR)libApp.so -appclient.o: appclient.c appinterface.h ../include/App/appclient.h - $(CC) $(libApp_CFLAGS) -c appclient.c +$(OBJDIR)appclient.o: appclient.c appinterface.h ../include/App/appclient.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)appclient.o -c appclient.c -appinterface.o: appinterface.c ../include/App/appserver.h marshall.h ../config.h - $(CC) $(libApp_CFLAGS) -c appinterface.c +$(OBJDIR)appinterface.o: appinterface.c ../include/App/appserver.h marshall.h ../config.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)appinterface.o -c appinterface.c -appmessage.o: appmessage.c ../include/App/appmessage.h appmessage.h - $(CC) $(libApp_CFLAGS) -c appmessage.c +$(OBJDIR)appmessage.o: appmessage.c ../include/App/appmessage.h appmessage.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)appmessage.o -c appmessage.c -appserver.o: appserver.c appinterface.h ../include/App/appserver.h ../config.h - $(CC) $(libApp_CFLAGS) -c appserver.c +$(OBJDIR)appserver.o: appserver.c appinterface.h ../include/App/appserver.h ../config.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)appserver.o -c appserver.c -apptransport.o: apptransport.c apptransport.h ../include/App/apptransport.h ../config.h - $(CC) $(libApp_CFLAGS) -c apptransport.c +$(OBJDIR)apptransport.o: apptransport.c apptransport.h ../include/App/apptransport.h ../config.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)apptransport.o -c apptransport.c -marshall.o: marshall.c marshall.h - $(CC) $(libApp_CFLAGS) -c marshall.c +$(OBJDIR)marshall.o: marshall.c marshall.h + $(CC) $(libApp_CFLAGS) -o $(OBJDIR)marshall.o -c marshall.c clean: $(RM) -- $(libApp_OBJS) @@ -59,8 +60,8 @@ distclean: clean install: $(TARGETS) $(MKDIR) $(DESTDIR)$(LIBDIR) - $(INSTALL) -m 0644 libApp.a $(DESTDIR)$(LIBDIR)/libApp.a - $(INSTALL) -m 0755 libApp.so.0.0 $(DESTDIR)$(LIBDIR)/libApp.so.0.0 + $(INSTALL) -m 0644 $(OBJDIR)libApp.a $(DESTDIR)$(LIBDIR)/libApp.a + $(INSTALL) -m 0755 $(OBJDIR)libApp.so.0.0 $(DESTDIR)$(LIBDIR)/libApp.so.0.0 $(LN) -s -- libApp.so.0.0 $(DESTDIR)$(LIBDIR)/libApp.so.0 $(LN) -s -- libApp.so.0.0 $(DESTDIR)$(LIBDIR)/libApp.so diff --git a/src/transport/Makefile b/src/transport/Makefile index bdb56d4..b9f2909 100644 --- a/src/transport/Makefile +++ b/src/transport/Makefile @@ -1,4 +1,5 @@ -TARGETS = self.so tcp.so tcp4.so tcp6.so template.so udp.so udp4.so udp6.so +TARGETS = $(OBJDIR)self.so $(OBJDIR)tcp.so $(OBJDIR)tcp4.so $(OBJDIR)tcp6.so $(OBJDIR)template.so $(OBJDIR)udp.so $(OBJDIR)udp4.so $(OBJDIR)udp6.so +OBJDIR = PREFIX = /usr/local DESTDIR = LIBDIR = $(PREFIX)/lib @@ -19,85 +20,85 @@ INSTALL = install all: $(TARGETS) -self_OBJS = self.o +self_OBJS = $(OBJDIR)self.o self_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) self_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -self.so: $(self_OBJS) - $(CCSHARED) -o self.so $(self_OBJS) $(self_LDFLAGS) +$(OBJDIR)self.so: $(self_OBJS) + $(CCSHARED) -o $(OBJDIR)self.so $(self_OBJS) $(self_LDFLAGS) -tcp_OBJS = tcp.o +tcp_OBJS = $(OBJDIR)tcp.o tcp_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) tcp_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -tcp.so: $(tcp_OBJS) - $(CCSHARED) -o tcp.so $(tcp_OBJS) $(tcp_LDFLAGS) +$(OBJDIR)tcp.so: $(tcp_OBJS) + $(CCSHARED) -o $(OBJDIR)tcp.so $(tcp_OBJS) $(tcp_LDFLAGS) -tcp4_OBJS = tcp4.o +tcp4_OBJS = $(OBJDIR)tcp4.o tcp4_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) tcp4_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -tcp4.so: $(tcp4_OBJS) - $(CCSHARED) -o tcp4.so $(tcp4_OBJS) $(tcp4_LDFLAGS) +$(OBJDIR)tcp4.so: $(tcp4_OBJS) + $(CCSHARED) -o $(OBJDIR)tcp4.so $(tcp4_OBJS) $(tcp4_LDFLAGS) -tcp6_OBJS = tcp6.o +tcp6_OBJS = $(OBJDIR)tcp6.o tcp6_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) tcp6_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -tcp6.so: $(tcp6_OBJS) - $(CCSHARED) -o tcp6.so $(tcp6_OBJS) $(tcp6_LDFLAGS) +$(OBJDIR)tcp6.so: $(tcp6_OBJS) + $(CCSHARED) -o $(OBJDIR)tcp6.so $(tcp6_OBJS) $(tcp6_LDFLAGS) -template_OBJS = template.o +template_OBJS = $(OBJDIR)template.o template_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) template_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -template.so: $(template_OBJS) - $(CCSHARED) -o template.so $(template_OBJS) $(template_LDFLAGS) +$(OBJDIR)template.so: $(template_OBJS) + $(CCSHARED) -o $(OBJDIR)template.so $(template_OBJS) $(template_LDFLAGS) -udp_OBJS = udp.o +udp_OBJS = $(OBJDIR)udp.o udp_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) udp_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -udp.so: $(udp_OBJS) - $(CCSHARED) -o udp.so $(udp_OBJS) $(udp_LDFLAGS) +$(OBJDIR)udp.so: $(udp_OBJS) + $(CCSHARED) -o $(OBJDIR)udp.so $(udp_OBJS) $(udp_LDFLAGS) -udp4_OBJS = udp4.o +udp4_OBJS = $(OBJDIR)udp4.o udp4_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) udp4_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -udp4.so: $(udp4_OBJS) - $(CCSHARED) -o udp4.so $(udp4_OBJS) $(udp4_LDFLAGS) +$(OBJDIR)udp4.so: $(udp4_OBJS) + $(CCSHARED) -o $(OBJDIR)udp4.so $(udp4_OBJS) $(udp4_LDFLAGS) -udp6_OBJS = udp6.o +udp6_OBJS = $(OBJDIR)udp6.o udp6_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) udp6_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -udp6.so: $(udp6_OBJS) - $(CCSHARED) -o udp6.so $(udp6_OBJS) $(udp6_LDFLAGS) +$(OBJDIR)udp6.so: $(udp6_OBJS) + $(CCSHARED) -o $(OBJDIR)udp6.so $(udp6_OBJS) $(udp6_LDFLAGS) -self.o: self.c - $(CC) $(self_CFLAGS) -c self.c +$(OBJDIR)self.o: self.c + $(CC) $(self_CFLAGS) -o $(OBJDIR)self.o -c self.c -tcp.o: tcp.c common.h common.c - $(CC) $(tcp_CFLAGS) -c tcp.c +$(OBJDIR)tcp.o: tcp.c common.h common.c + $(CC) $(tcp_CFLAGS) -o $(OBJDIR)tcp.o -c tcp.c -tcp4.o: tcp4.c tcp.c common.h common.c - $(CC) $(tcp4_CFLAGS) -c tcp4.c +$(OBJDIR)tcp4.o: tcp4.c tcp.c common.h common.c + $(CC) $(tcp4_CFLAGS) -o $(OBJDIR)tcp4.o -c tcp4.c -tcp6.o: tcp6.c tcp.c common.h common.c - $(CC) $(tcp6_CFLAGS) -c tcp6.c +$(OBJDIR)tcp6.o: tcp6.c tcp.c common.h common.c + $(CC) $(tcp6_CFLAGS) -o $(OBJDIR)tcp6.o -c tcp6.c -template.o: template.c - $(CC) $(template_CFLAGS) -c template.c +$(OBJDIR)template.o: template.c + $(CC) $(template_CFLAGS) -o $(OBJDIR)template.o -c template.c -udp.o: udp.c common.h common.c - $(CC) $(udp_CFLAGS) -c udp.c +$(OBJDIR)udp.o: udp.c common.h common.c + $(CC) $(udp_CFLAGS) -o $(OBJDIR)udp.o -c udp.c -udp4.o: udp4.c udp.c common.h common.c - $(CC) $(udp4_CFLAGS) -c udp4.c +$(OBJDIR)udp4.o: udp4.c udp.c common.h common.c + $(CC) $(udp4_CFLAGS) -o $(OBJDIR)udp4.o -c udp4.c -udp6.o: udp6.c udp.c common.h common.c - $(CC) $(udp6_CFLAGS) -c udp6.c +$(OBJDIR)udp6.o: udp6.c udp.c common.h common.c + $(CC) $(udp6_CFLAGS) -o $(OBJDIR)udp6.o -c udp6.c clean: $(RM) -- $(self_OBJS) $(tcp_OBJS) $(tcp4_OBJS) $(tcp6_OBJS) $(template_OBJS) $(udp_OBJS) $(udp4_OBJS) $(udp6_OBJS) @@ -107,17 +108,17 @@ distclean: clean install: $(TARGETS) $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 tcp.so $(DESTDIR)$(LIBDIR)/App/transport/tcp.so + $(INSTALL) -m 0755 $(OBJDIR)tcp.so $(DESTDIR)$(LIBDIR)/App/transport/tcp.so $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 tcp4.so $(DESTDIR)$(LIBDIR)/App/transport/tcp4.so + $(INSTALL) -m 0755 $(OBJDIR)tcp4.so $(DESTDIR)$(LIBDIR)/App/transport/tcp4.so $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 tcp6.so $(DESTDIR)$(LIBDIR)/App/transport/tcp6.so + $(INSTALL) -m 0755 $(OBJDIR)tcp6.so $(DESTDIR)$(LIBDIR)/App/transport/tcp6.so $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 udp.so $(DESTDIR)$(LIBDIR)/App/transport/udp.so + $(INSTALL) -m 0755 $(OBJDIR)udp.so $(DESTDIR)$(LIBDIR)/App/transport/udp.so $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 udp4.so $(DESTDIR)$(LIBDIR)/App/transport/udp4.so + $(INSTALL) -m 0755 $(OBJDIR)udp4.so $(DESTDIR)$(LIBDIR)/App/transport/udp4.so $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0644 udp6.so $(DESTDIR)$(LIBDIR)/App/transport/udp6.so + $(INSTALL) -m 0755 $(OBJDIR)udp6.so $(DESTDIR)$(LIBDIR)/App/transport/udp6.so uninstall: $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/tcp.so diff --git a/tests/Makefile b/tests/Makefile index 4b9fb13..0b4c728 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,4 +1,5 @@ -TARGETS = Dummy.h appclient appmessage appserver includes lookup tests.log transport +TARGETS = $(OBJDIR)Dummy.h $(OBJDIR)appclient $(OBJDIR)appmessage $(OBJDIR)appserver $(OBJDIR)includes $(OBJDIR)lookup $(OBJDIR)tests.log $(OBJDIR)transport +OBJDIR = PREFIX = /usr/local DESTDIR = BINDIR = $(PREFIX)/bin @@ -18,71 +19,71 @@ INSTALL = install all: $(TARGETS) -Dummy.h: ../data/Dummy.interface - ../data/appbroker.sh -P "$(PREFIX)" -- "Dummy.h" +$(OBJDIR)Dummy.h: ../data/Dummy.interface + ../data/appbroker.sh -P "$(PREFIX)" -- "$(OBJDIR)Dummy.h" -appclient_OBJS = appclient.o +appclient_OBJS = $(OBJDIR)appclient.o appclient_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) appclient_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) ../src/libApp.a -appclient: $(appclient_OBJS) - $(CC) -o appclient $(appclient_OBJS) $(appclient_LDFLAGS) +$(OBJDIR)appclient: $(appclient_OBJS) + $(CC) -o $(OBJDIR)appclient $(appclient_OBJS) $(appclient_LDFLAGS) -appmessage_OBJS = appmessage.o +appmessage_OBJS = $(OBJDIR)appmessage.o appmessage_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) appmessage_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) ../src/libApp.a -appmessage: $(appmessage_OBJS) - $(CC) -o appmessage $(appmessage_OBJS) $(appmessage_LDFLAGS) +$(OBJDIR)appmessage: $(appmessage_OBJS) + $(CC) -o $(OBJDIR)appmessage $(appmessage_OBJS) $(appmessage_LDFLAGS) -appserver_OBJS = appserver.o +appserver_OBJS = $(OBJDIR)appserver.o appserver_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) appserver_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) ../src/libApp.a -appserver: $(appserver_OBJS) - $(CC) -o appserver $(appserver_OBJS) $(appserver_LDFLAGS) +$(OBJDIR)appserver: $(appserver_OBJS) + $(CC) -o $(OBJDIR)appserver $(appserver_OBJS) $(appserver_LDFLAGS) -includes_OBJS = includes.o +includes_OBJS = $(OBJDIR)includes.o includes_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) includes_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -includes: $(includes_OBJS) - $(CC) -o includes $(includes_OBJS) $(includes_LDFLAGS) +$(OBJDIR)includes: $(includes_OBJS) + $(CC) -o $(OBJDIR)includes $(includes_OBJS) $(includes_LDFLAGS) -lookup_OBJS = lookup.o +lookup_OBJS = $(OBJDIR)lookup.o lookup_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) lookup_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -lookup: $(lookup_OBJS) - $(CC) -o lookup $(lookup_OBJS) $(lookup_LDFLAGS) +$(OBJDIR)lookup: $(lookup_OBJS) + $(CC) -o $(OBJDIR)lookup $(lookup_OBJS) $(lookup_LDFLAGS) -tests.log: appclient appmessage appserver includes lookup tests.sh transport ../src/transport/tcp.c ../src/transport/udp.c - ./tests.sh -P "$(PREFIX)" -- "tests.log" +$(OBJDIR)tests.log: appclient appmessage appserver includes lookup tests.sh transport ../src/transport/tcp.c ../src/transport/udp.c + ./tests.sh -P "$(PREFIX)" -- "$(OBJDIR)tests.log" -transport_OBJS = transport.o +transport_OBJS = $(OBJDIR)transport.o transport_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) transport_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -transport: $(transport_OBJS) - $(CC) -o transport $(transport_OBJS) $(transport_LDFLAGS) +$(OBJDIR)transport: $(transport_OBJS) + $(CC) -o $(OBJDIR)transport $(transport_OBJS) $(transport_LDFLAGS) -appclient.o: appclient.c ../src/libApp.a - $(CC) $(appclient_CFLAGS) -c appclient.c +$(OBJDIR)appclient.o: appclient.c ../src/libApp.a + $(CC) $(appclient_CFLAGS) -o $(OBJDIR)appclient.o -c appclient.c -appmessage.o: appmessage.c ../src/libApp.a - $(CC) $(appmessage_CFLAGS) -c appmessage.c +$(OBJDIR)appmessage.o: appmessage.c ../src/libApp.a + $(CC) $(appmessage_CFLAGS) -o $(OBJDIR)appmessage.o -c appmessage.c -appserver.o: appserver.c ../src/libApp.a - $(CC) $(appserver_CFLAGS) -c appserver.c +$(OBJDIR)appserver.o: appserver.c ../src/libApp.a + $(CC) $(appserver_CFLAGS) -o $(OBJDIR)appserver.o -c appserver.c -includes.o: includes.c - $(CC) $(includes_CFLAGS) -c includes.c +$(OBJDIR)includes.o: includes.c + $(CC) $(includes_CFLAGS) -o $(OBJDIR)includes.o -c includes.c -lookup.o: lookup.c ../src/apptransport.h - $(CC) $(lookup_CFLAGS) -c lookup.c +$(OBJDIR)lookup.o: lookup.c ../src/apptransport.h + $(CC) $(lookup_CFLAGS) -o $(OBJDIR)lookup.o -c lookup.c -transport.o: transport.c ../src/libApp.a - $(CC) $(transport_CFLAGS) -c transport.c +$(OBJDIR)transport.o: transport.c ../src/libApp.a + $(CC) $(transport_CFLAGS) -o $(OBJDIR)transport.o -c transport.c clean: $(RM) -- $(Dummy.h_OBJS) $(appclient_OBJS) $(appmessage_OBJS) $(appserver_OBJS) $(includes_OBJS) $(lookup_OBJS) $(tests.log_OBJS) $(transport_OBJS) diff --git a/tools/Makefile b/tools/Makefile index eb9402b..f4c70b8 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,4 +1,5 @@ -TARGETS = AppBroker AppClient +TARGETS = $(OBJDIR)AppBroker $(OBJDIR)AppClient +OBJDIR = PREFIX = /usr/local DESTDIR = BINDIR = $(PREFIX)/bin @@ -18,25 +19,25 @@ INSTALL = install all: $(TARGETS) -AppBroker_OBJS = appbroker.o +AppBroker_OBJS = $(OBJDIR)appbroker.o AppBroker_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) AppBroker_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -AppBroker: $(AppBroker_OBJS) - $(CC) -o AppBroker $(AppBroker_OBJS) $(AppBroker_LDFLAGS) +$(OBJDIR)AppBroker: $(AppBroker_OBJS) + $(CC) -o $(OBJDIR)AppBroker $(AppBroker_OBJS) $(AppBroker_LDFLAGS) -AppClient_OBJS = appclient.o +AppClient_OBJS = $(OBJDIR)appclient.o AppClient_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) AppClient_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -AppClient: $(AppClient_OBJS) - $(CC) -o AppClient $(AppClient_OBJS) $(AppClient_LDFLAGS) +$(OBJDIR)AppClient: $(AppClient_OBJS) + $(CC) -o $(OBJDIR)AppClient $(AppClient_OBJS) $(AppClient_LDFLAGS) -appbroker.o: appbroker.c - $(CC) $(AppBroker_CFLAGS) -c appbroker.c +$(OBJDIR)appbroker.o: appbroker.c + $(CC) $(AppBroker_CFLAGS) -o $(OBJDIR)appbroker.o -c appbroker.c -appclient.o: appclient.c - $(CC) $(AppClient_CFLAGS) -c appclient.c +$(OBJDIR)appclient.o: appclient.c + $(CC) $(AppClient_CFLAGS) -o $(OBJDIR)appclient.o -c appclient.c clean: $(RM) -- $(AppBroker_OBJS) $(AppClient_OBJS) @@ -46,7 +47,7 @@ distclean: clean install: $(TARGETS) $(MKDIR) $(DESTDIR)$(BINDIR) - $(INSTALL) -m 0755 AppBroker $(DESTDIR)$(BINDIR)/AppBroker + $(INSTALL) -m 0755 $(OBJDIR)AppBroker $(DESTDIR)$(BINDIR)/AppBroker uninstall: $(RM) -- $(DESTDIR)$(BINDIR)/AppBroker