diff --git a/Makefile b/Makefile index abcb74d..b5a743e 100644 --- a/Makefile +++ b/Makefile @@ -4,24 +4,35 @@ SUBDIRS = src/transport RM = rm -f LN = ln -f TAR = tar +TGZEXT = .tar.gz MKDIR = mkdir -m 0755 -p all: subdirs subdirs: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE)) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + ([ -d "$(OBJDIR)$$i" ] || $(MKDIR) -- "$(OBJDIR)$$i") && \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/"; \ + else $(MAKE); fi) || exit; done clean: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) clean) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/" clean; \ + else $(MAKE) clean; fi) || exit; done distclean: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) distclean) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/" distclean; \ + else $(MAKE) distclean; fi) || exit; done dist: - $(RM) -r -- $(PACKAGE)-$(VERSION) - $(LN) -s -- . $(PACKAGE)-$(VERSION) - @$(TAR) -czvf $(PACKAGE)-$(VERSION).tar.gz -- \ + $(RM) -r -- $(OBJDIR)$(PACKAGE)-$(VERSION) + $(LN) -s -- "$$PWD" $(OBJDIR)$(PACKAGE)-$(VERSION) + @cd $(OBJDIR). && $(TAR) -czvf $(PACKAGE)-$(VERSION)$(TGZEXT) -- \ $(PACKAGE)-$(VERSION)/src/transport/ssl.c \ $(PACKAGE)-$(VERSION)/src/transport/ssl4.c \ $(PACKAGE)-$(VERSION)/src/transport/ssl6.c \ @@ -32,23 +43,29 @@ dist: $(PACKAGE)-$(VERSION)/COPYING \ $(PACKAGE)-$(VERSION)/Makefile \ $(PACKAGE)-$(VERSION)/project.conf - $(RM) -- $(PACKAGE)-$(VERSION) + $(RM) -- $(OBJDIR)$(PACKAGE)-$(VERSION) distcheck: dist - $(TAR) -xzvf $(PACKAGE)-$(VERSION).tar.gz + $(TAR) -xzvf $(OBJDIR)$(PACKAGE)-$(VERSION)$(TGZEXT) $(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) + 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 + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/" install; \ + else $(MAKE) install; fi) || exit; done uninstall: - @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done + @for i in $(SUBDIRS); do (cd "$$i" && \ + if [ -n "$(OBJDIR)" ]; then \ + $(MAKE) OBJDIR="$(OBJDIR)$$i/" uninstall; \ + else $(MAKE) uninstall; fi) || exit; done .PHONY: all subdirs clean distclean dist distcheck install uninstall diff --git a/src/transport/Makefile b/src/transport/Makefile index 125c653..274448c 100644 --- a/src/transport/Makefile +++ b/src/transport/Makefile @@ -1,4 +1,4 @@ -TARGETS = $(OBJDIR)ssl.so $(OBJDIR)ssl4.so $(OBJDIR)ssl6.so +TARGETS = $(OBJDIR)ssl$(SOEXT) $(OBJDIR)ssl4$(SOEXT) $(OBJDIR)ssl6$(SOEXT) OBJDIR = PREFIX = /usr/local DESTDIR = @@ -9,9 +9,12 @@ CPPFLAGS= CFLAGSF = -W -fPIC `pkg-config --cflags libApp` CFLAGS = -Wall -g -O2 -pedantic LDFLAGSF= `pkg-config --libs libApp` +EXEEXT = AR = ar +ARFLAGS = -rc RANLIB = ranlib CCSHARED= $(CC) -shared +SOEXT = .so RM = rm -f LN = ln -f MKDIR = mkdir -m 0755 -p @@ -24,22 +27,22 @@ ssl_OBJS = $(OBJDIR)ssl.o ssl_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) ssl_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -$(OBJDIR)ssl.so: $(ssl_OBJS) - $(CCSHARED) -o $(OBJDIR)ssl.so $(ssl_OBJS) $(ssl_LDFLAGS) +$(OBJDIR)ssl$(SOEXT): $(ssl_OBJS) + $(CCSHARED) -o $(OBJDIR)ssl$(SOEXT) $(ssl_OBJS) $(ssl_LDFLAGS) ssl4_OBJS = $(OBJDIR)ssl4.o ssl4_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) ssl4_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -$(OBJDIR)ssl4.so: $(ssl4_OBJS) - $(CCSHARED) -o $(OBJDIR)ssl4.so $(ssl4_OBJS) $(ssl4_LDFLAGS) +$(OBJDIR)ssl4$(SOEXT): $(ssl4_OBJS) + $(CCSHARED) -o $(OBJDIR)ssl4$(SOEXT) $(ssl4_OBJS) $(ssl4_LDFLAGS) ssl6_OBJS = $(OBJDIR)ssl6.o ssl6_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) ssl6_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -$(OBJDIR)ssl6.so: $(ssl6_OBJS) - $(CCSHARED) -o $(OBJDIR)ssl6.so $(ssl6_OBJS) $(ssl6_LDFLAGS) +$(OBJDIR)ssl6$(SOEXT): $(ssl6_OBJS) + $(CCSHARED) -o $(OBJDIR)ssl6$(SOEXT) $(ssl6_OBJS) $(ssl6_LDFLAGS) $(OBJDIR)ssl.o: ssl.c common.h common.c $(CC) $(ssl_CFLAGS) -o $(OBJDIR)ssl.o -c ssl.c @@ -58,15 +61,15 @@ distclean: clean install: $(TARGETS) $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0755 $(OBJDIR)ssl.so $(DESTDIR)$(LIBDIR)/App/transport/ssl.so + $(INSTALL) -m 0755 $(OBJDIR)ssl$(SOEXT) $(DESTDIR)$(LIBDIR)/App/transport/ssl$(SOEXT) $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0755 $(OBJDIR)ssl4.so $(DESTDIR)$(LIBDIR)/App/transport/ssl4.so + $(INSTALL) -m 0755 $(OBJDIR)ssl4$(SOEXT) $(DESTDIR)$(LIBDIR)/App/transport/ssl4$(SOEXT) $(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport - $(INSTALL) -m 0755 $(OBJDIR)ssl6.so $(DESTDIR)$(LIBDIR)/App/transport/ssl6.so + $(INSTALL) -m 0755 $(OBJDIR)ssl6$(SOEXT) $(DESTDIR)$(LIBDIR)/App/transport/ssl6$(SOEXT) uninstall: - $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl.so - $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl4.so - $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl6.so + $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl$(SOEXT) + $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl4$(SOEXT) + $(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl6$(SOEXT) .PHONY: all clean distclean install uninstall