Added support for building with OBJDIR

This commit is contained in:
Pierre Pronchery 2014-11-12 23:01:07 +01:00
parent c228e94cc4
commit 43dbdf3d81
5 changed files with 40 additions and 24 deletions

View File

@ -3,7 +3,8 @@ VERSION = 0.0.0
SUBDIRS = data include src tools SUBDIRS = data include src tools
RM = rm -f RM = rm -f
LN = ln -f LN = ln -f
TAR = tar -czvf TAR = tar
MKDIR = mkdir -m 0755 -p
all: subdirs all: subdirs
@ -20,7 +21,7 @@ distclean:
dist: dist:
$(RM) -r -- $(PACKAGE)-$(VERSION) $(RM) -r -- $(PACKAGE)-$(VERSION)
$(LN) -s -- . $(PACKAGE)-$(VERSION) $(LN) -s -- . $(PACKAGE)-$(VERSION)
@$(TAR) $(PACKAGE)-$(VERSION).tar.gz -- \ @$(TAR) -czvf $(PACKAGE)-$(VERSION).tar.gz -- \
$(PACKAGE)-$(VERSION)/data/Makefile \ $(PACKAGE)-$(VERSION)/data/Makefile \
$(PACKAGE)-$(VERSION)/data/VPN.interface \ $(PACKAGE)-$(VERSION)/data/VPN.interface \
$(PACKAGE)-$(VERSION)/data/appbroker.sh \ $(PACKAGE)-$(VERSION)/data/appbroker.sh \
@ -42,10 +43,21 @@ dist:
$(PACKAGE)-$(VERSION)/project.conf $(PACKAGE)-$(VERSION)/project.conf
$(RM) -- $(PACKAGE)-$(VERSION) $(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: install:
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done @for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) install) || exit; done
uninstall: uninstall:
@for i in $(SUBDIRS); do (cd "$$i" && $(MAKE) uninstall) || exit; done @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,3 +1,4 @@
OBJDIR =
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
MKDIR = mkdir -m 0755 -p MKDIR = mkdir -m 0755 -p

View File

@ -1,4 +1,5 @@
TARGETS = VPN.h TARGETS = $(OBJDIR)VPN.h
OBJDIR =
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
RM = rm -f RM = rm -f
@ -9,8 +10,8 @@ INSTALL = install
all: $(TARGETS) all: $(TARGETS)
VPN.h: ../data/VPN.interface $(OBJDIR)VPN.h: ../data/VPN.interface
../data/appbroker.sh -P "$(PREFIX)" -- "VPN.h" ../data/appbroker.sh -P "$(PREFIX)" -- "$(OBJDIR)VPN.h"
clean: clean:
$(RM) -- $(VPN.h_OBJS) $(RM) -- $(VPN.h_OBJS)

View File

@ -1,4 +1,5 @@
TARGETS = ../include/VPN.h VPN TARGETS = $(OBJDIR)../include/VPN.h $(OBJDIR)VPN
OBJDIR =
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
BINDIR = $(PREFIX)/bin BINDIR = $(PREFIX)/bin
@ -18,21 +19,21 @@ INSTALL = install
all: $(TARGETS) all: $(TARGETS)
../include/VPN.h: ../data/VPN.interface $(OBJDIR)../include/VPN.h: ../data/VPN.interface
../data/appbroker.sh -P "$(PREFIX)" -- "../include/VPN.h" ../data/appbroker.sh -P "$(PREFIX)" -- "$(OBJDIR)../include/VPN.h"
VPN_OBJS = vpn.o main.o VPN_OBJS = $(OBJDIR)vpn.o $(OBJDIR)main.o
VPN_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) VPN_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
VPN_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) VPN_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
VPN: $(VPN_OBJS) $(OBJDIR)VPN: $(VPN_OBJS)
$(CC) -o VPN $(VPN_OBJS) $(VPN_LDFLAGS) $(CC) -o $(OBJDIR)VPN $(VPN_OBJS) $(VPN_LDFLAGS)
vpn.o: vpn.c ../include/VPN.h $(OBJDIR)vpn.o: vpn.c ../include/VPN.h
$(CC) $(VPN_CFLAGS) -c vpn.c $(CC) $(VPN_CFLAGS) -o $(OBJDIR)vpn.o -c vpn.c
main.o: main.c $(OBJDIR)main.o: main.c
$(CC) $(VPN_CFLAGS) -c main.c $(CC) $(VPN_CFLAGS) -o $(OBJDIR)main.o -c main.c
clean: clean:
$(RM) -- $(../include/VPN.h_OBJS) $(VPN_OBJS) $(RM) -- $(../include/VPN.h_OBJS) $(VPN_OBJS)
@ -43,7 +44,7 @@ distclean: clean
install: $(TARGETS) install: $(TARGETS)
$(MKDIR) $(DESTDIR)$(BINDIR) $(MKDIR) $(DESTDIR)$(BINDIR)
$(INSTALL) -m 0755 VPN $(DESTDIR)$(BINDIR)/VPN $(INSTALL) -m 0755 $(OBJDIR)VPN $(DESTDIR)$(BINDIR)/VPN
uninstall: uninstall:
$(RM) -- $(DESTDIR)$(BINDIR)/VPN $(RM) -- $(DESTDIR)$(BINDIR)/VPN

View File

@ -1,4 +1,5 @@
TARGETS = libVPN.so TARGETS = $(OBJDIR)libVPN.so
OBJDIR =
PREFIX = /usr/local PREFIX = /usr/local
DESTDIR = DESTDIR =
LIBDIR = $(PREFIX)/lib LIBDIR = $(PREFIX)/lib
@ -20,15 +21,15 @@ INSTALL = install
all: $(TARGETS) all: $(TARGETS)
libVPN_OBJS = libvpn.o libVPN_OBJS = $(OBJDIR)libvpn.o
libVPN_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) libVPN_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
libVPN_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) libVPN_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
libVPN.so: $(libVPN_OBJS) $(OBJDIR)libVPN.so: $(libVPN_OBJS)
$(CCSHARED) -o libVPN.so $(libVPN_OBJS) $(libVPN_LDFLAGS) $(CCSHARED) -o $(OBJDIR)libVPN.so $(libVPN_OBJS) $(libVPN_LDFLAGS)
libvpn.o: libvpn.c ../include/VPN.h ../src/common.c $(OBJDIR)libvpn.o: libvpn.c ../include/VPN.h ../src/common.c
$(CC) $(libVPN_CFLAGS) -c libvpn.c $(CC) $(libVPN_CFLAGS) -o $(OBJDIR)libvpn.o -c libvpn.c
clean: clean:
$(RM) -- $(libVPN_OBJS) $(RM) -- $(libVPN_OBJS)
@ -38,7 +39,7 @@ distclean: clean
install: $(TARGETS) install: $(TARGETS)
$(MKDIR) $(DESTDIR)$(LIBDIR)/AppWrapper $(MKDIR) $(DESTDIR)$(LIBDIR)/AppWrapper
$(INSTALL) -m 0644 libVPN.so $(DESTDIR)$(LIBDIR)/AppWrapper/libVPN.so $(INSTALL) -m 0755 $(OBJDIR)libVPN.so $(DESTDIR)$(LIBDIR)/AppWrapper/libVPN.so
uninstall: uninstall:
$(RM) -- $(DESTDIR)$(LIBDIR)/AppWrapper/libVPN.so $(RM) -- $(DESTDIR)$(LIBDIR)/AppWrapper/libVPN.so