diff --git a/Makefile b/Makefile index 89aa3da..3b39c73 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,8 @@ VERSION = 0.0.0 SUBDIRS = data include src 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/VPN.interface \ $(PACKAGE)-$(VERSION)/data/appbroker.sh \ @@ -42,10 +43,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 2c97ec7..3d3cb63 100644 --- a/data/Makefile +++ b/data/Makefile @@ -1,3 +1,4 @@ +OBJDIR = PREFIX = /usr/local DESTDIR = MKDIR = mkdir -m 0755 -p diff --git a/include/Makefile b/include/Makefile index 2950a76..9b66419 100644 --- a/include/Makefile +++ b/include/Makefile @@ -1,4 +1,5 @@ -TARGETS = VPN.h +TARGETS = $(OBJDIR)VPN.h +OBJDIR = PREFIX = /usr/local DESTDIR = RM = rm -f @@ -9,8 +10,8 @@ INSTALL = install all: $(TARGETS) -VPN.h: ../data/VPN.interface - ../data/appbroker.sh -P "$(PREFIX)" -- "VPN.h" +$(OBJDIR)VPN.h: ../data/VPN.interface + ../data/appbroker.sh -P "$(PREFIX)" -- "$(OBJDIR)VPN.h" clean: $(RM) -- $(VPN.h_OBJS) diff --git a/src/Makefile b/src/Makefile index 3051ce1..09ef289 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,4 +1,5 @@ -TARGETS = ../include/VPN.h VPN +TARGETS = $(OBJDIR)../include/VPN.h $(OBJDIR)VPN +OBJDIR = PREFIX = /usr/local DESTDIR = BINDIR = $(PREFIX)/bin @@ -18,21 +19,21 @@ INSTALL = install all: $(TARGETS) -../include/VPN.h: ../data/VPN.interface - ../data/appbroker.sh -P "$(PREFIX)" -- "../include/VPN.h" +$(OBJDIR)../include/VPN.h: ../data/VPN.interface + ../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_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -VPN: $(VPN_OBJS) - $(CC) -o VPN $(VPN_OBJS) $(VPN_LDFLAGS) +$(OBJDIR)VPN: $(VPN_OBJS) + $(CC) -o $(OBJDIR)VPN $(VPN_OBJS) $(VPN_LDFLAGS) -vpn.o: vpn.c ../include/VPN.h - $(CC) $(VPN_CFLAGS) -c vpn.c +$(OBJDIR)vpn.o: vpn.c ../include/VPN.h + $(CC) $(VPN_CFLAGS) -o $(OBJDIR)vpn.o -c vpn.c -main.o: main.c - $(CC) $(VPN_CFLAGS) -c main.c +$(OBJDIR)main.o: main.c + $(CC) $(VPN_CFLAGS) -o $(OBJDIR)main.o -c main.c clean: $(RM) -- $(../include/VPN.h_OBJS) $(VPN_OBJS) @@ -43,7 +44,7 @@ distclean: clean install: $(TARGETS) $(MKDIR) $(DESTDIR)$(BINDIR) - $(INSTALL) -m 0755 VPN $(DESTDIR)$(BINDIR)/VPN + $(INSTALL) -m 0755 $(OBJDIR)VPN $(DESTDIR)$(BINDIR)/VPN uninstall: $(RM) -- $(DESTDIR)$(BINDIR)/VPN diff --git a/tools/Makefile b/tools/Makefile index d5ff450..1a2be5b 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,4 +1,5 @@ -TARGETS = libVPN.so +TARGETS = $(OBJDIR)libVPN.so +OBJDIR = PREFIX = /usr/local DESTDIR = LIBDIR = $(PREFIX)/lib @@ -20,15 +21,15 @@ INSTALL = install all: $(TARGETS) -libVPN_OBJS = libvpn.o +libVPN_OBJS = $(OBJDIR)libvpn.o libVPN_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS) libVPN_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -libVPN.so: $(libVPN_OBJS) - $(CCSHARED) -o libVPN.so $(libVPN_OBJS) $(libVPN_LDFLAGS) +$(OBJDIR)libVPN.so: $(libVPN_OBJS) + $(CCSHARED) -o $(OBJDIR)libVPN.so $(libVPN_OBJS) $(libVPN_LDFLAGS) -libvpn.o: libvpn.c ../include/VPN.h ../src/common.c - $(CC) $(libVPN_CFLAGS) -c libvpn.c +$(OBJDIR)libvpn.o: libvpn.c ../include/VPN.h ../src/common.c + $(CC) $(libVPN_CFLAGS) -o $(OBJDIR)libvpn.o -c libvpn.c clean: $(RM) -- $(libVPN_OBJS) @@ -38,7 +39,7 @@ distclean: clean install: $(TARGETS) $(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: $(RM) -- $(DESTDIR)$(LIBDIR)/AppWrapper/libVPN.so