Added support for building with OBJDIR

This commit is contained in:
Pierre Pronchery 2014-11-12 22:59:13 +01:00
parent 414f1f7379
commit fd9a70daff
2 changed files with 35 additions and 22 deletions

View File

@ -3,7 +3,8 @@ VERSION = 0.0.0
SUBDIRS = src/transport
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)/src/transport/ssl.c \
$(PACKAGE)-$(VERSION)/src/transport/ssl4.c \
$(PACKAGE)-$(VERSION)/src/transport/ssl6.c \
@ -33,10 +34,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

View File

@ -1,4 +1,5 @@
TARGETS = ssl.so ssl4.so ssl6.so
TARGETS = $(OBJDIR)ssl.so $(OBJDIR)ssl4.so $(OBJDIR)ssl6.so
OBJDIR =
PREFIX = /usr/local
DESTDIR =
LIBDIR = $(PREFIX)/lib
@ -19,35 +20,35 @@ INSTALL = install
all: $(TARGETS)
ssl_OBJS = ssl.o
ssl_OBJS = $(OBJDIR)ssl.o
ssl_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
ssl_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
ssl.so: $(ssl_OBJS)
$(CCSHARED) -o ssl.so $(ssl_OBJS) $(ssl_LDFLAGS)
$(OBJDIR)ssl.so: $(ssl_OBJS)
$(CCSHARED) -o $(OBJDIR)ssl.so $(ssl_OBJS) $(ssl_LDFLAGS)
ssl4_OBJS = ssl4.o
ssl4_OBJS = $(OBJDIR)ssl4.o
ssl4_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
ssl4_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
ssl4.so: $(ssl4_OBJS)
$(CCSHARED) -o ssl4.so $(ssl4_OBJS) $(ssl4_LDFLAGS)
$(OBJDIR)ssl4.so: $(ssl4_OBJS)
$(CCSHARED) -o $(OBJDIR)ssl4.so $(ssl4_OBJS) $(ssl4_LDFLAGS)
ssl6_OBJS = ssl6.o
ssl6_OBJS = $(OBJDIR)ssl6.o
ssl6_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
ssl6_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
ssl6.so: $(ssl6_OBJS)
$(CCSHARED) -o ssl6.so $(ssl6_OBJS) $(ssl6_LDFLAGS)
$(OBJDIR)ssl6.so: $(ssl6_OBJS)
$(CCSHARED) -o $(OBJDIR)ssl6.so $(ssl6_OBJS) $(ssl6_LDFLAGS)
ssl.o: ssl.c common.h common.c
$(CC) $(ssl_CFLAGS) -c ssl.c
$(OBJDIR)ssl.o: ssl.c common.h common.c
$(CC) $(ssl_CFLAGS) -o $(OBJDIR)ssl.o -c ssl.c
ssl4.o: ssl4.c ssl.c common.h common.c
$(CC) $(ssl4_CFLAGS) -c ssl4.c
$(OBJDIR)ssl4.o: ssl4.c ssl.c common.h common.c
$(CC) $(ssl4_CFLAGS) -o $(OBJDIR)ssl4.o -c ssl4.c
ssl6.o: ssl6.c ssl.c common.h common.c
$(CC) $(ssl6_CFLAGS) -c ssl6.c
$(OBJDIR)ssl6.o: ssl6.c ssl.c common.h common.c
$(CC) $(ssl6_CFLAGS) -o $(OBJDIR)ssl6.o -c ssl6.c
clean:
$(RM) -- $(ssl_OBJS) $(ssl4_OBJS) $(ssl6_OBJS)
@ -57,11 +58,11 @@ distclean: clean
install: $(TARGETS)
$(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport
$(INSTALL) -m 0644 ssl.so $(DESTDIR)$(LIBDIR)/App/transport/ssl.so
$(INSTALL) -m 0755 $(OBJDIR)ssl.so $(DESTDIR)$(LIBDIR)/App/transport/ssl.so
$(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport
$(INSTALL) -m 0644 ssl4.so $(DESTDIR)$(LIBDIR)/App/transport/ssl4.so
$(INSTALL) -m 0755 $(OBJDIR)ssl4.so $(DESTDIR)$(LIBDIR)/App/transport/ssl4.so
$(MKDIR) $(DESTDIR)$(LIBDIR)/App/transport
$(INSTALL) -m 0644 ssl6.so $(DESTDIR)$(LIBDIR)/App/transport/ssl6.so
$(INSTALL) -m 0755 $(OBJDIR)ssl6.so $(DESTDIR)$(LIBDIR)/App/transport/ssl6.so
uninstall:
$(RM) -- $(DESTDIR)$(LIBDIR)/App/transport/ssl.so