summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-01-25 03:47:44 (EST)
committer P. J. McDermott <pjm@nac.net>2012-01-25 03:47:44 (EST)
commita991b8c9a1a0019ef1a36bbec49c29827a3c57a2 (patch)
tree4024d15aff81bbf9335ddfb7eae15e2667ce281d
parentaa8b08354c087d5baaf904fffeeb5b0d074adb9e (diff)
Recurse into subdirectories in build system.
-rw-r--r--Makefile.in32
-rwxr-xr-xconfigure2
-rw-r--r--lib/Makefile.in26
-rw-r--r--man/Makefile.in28
-rw-r--r--src/Makefile.in26
5 files changed, 63 insertions, 51 deletions
diff --git a/Makefile.in b/Makefile.in
index af9b635..77a7368 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -33,11 +33,11 @@ MAKE = @make@
.PHONY: all
all: sedscript
@printf 'Making executable files...\n'
- @$(MAKE) -f src/Makefile all
+ @cd src && $(MAKE) all
@printf 'Making library files...\n'
- @$(MAKE) -f lib/Makefile all
+ @cd lib && $(MAKE) all
@printf 'Making manual pages...\n'
- @$(MAKE) -f man/Makefile all
+ @cd man && $(MAKE) all
sedscript:
@printf 'Writing sed script...\n'
@@ -46,27 +46,35 @@ sedscript:
.PHONY: clean
clean:
+ @printf 'Deleting sed script...\n'
+ @rm -f sedscript
@printf 'Cleaning executable files...\n'
- @$(MAKE) -f src/Makefile clean
+ @cd src && $(MAKE) clean
@printf 'Cleaning library files...\n'
- @$(MAKE) -f lib/Makefile clean
+ @cd lib && $(MAKE) clean
@printf 'Cleaning manual pages...\n'
- @$(MAKE) -f man/Makefile clean
+ @cd man && $(MAKE) clean
.PHONY: install
install: all
+ @printf 'Generating installation configuration...\n'
+ @echo '' > install.config
+ @if [ -n '$(DESTDIR)' ]; then \
+ mkdir -p '$(DESTDIR)'; \
+ echo "DESTDIR=$$(cd '$(DESTDIR)' && pwd)" >> install.config; \
+ fi
@printf 'Installing executable files...\n'
- @$(MAKE) -f src/Makefile install
+ @cd src && $(MAKE) $$(cat ../install.config) install
@printf 'Installing libary files...\n'
- @$(MAKE) -f lib/Makefile install
+ @cd lib && $(MAKE) $$(cat ../install.config) install
@printf 'Installing manual pages...\n'
- @$(MAKE) -f man/Makefile install
+ @cd man && $(MAKE) $$(cat ../install.config) install
.PHONY: uninstall
uninstall:
@printf 'Uninstalling executable files...\n'
- @$(MAKE) -f src/Makefile uninstall
+ @cd src && $(MAKE) uninstall
@printf 'Uninstalling library files...\n'
- @$(MAKE) -f lib/Makefile uninstall
+ @cd lib && $(MAKE) uninstall
@printf 'Uninstalling manual pages...\n'
- @$(MAKE) -f man/Makefile uninstall
+ @cd man && $(MAKE) uninstall
diff --git a/configure b/configure
index 17f2949..93372f5 100755
--- a/configure
+++ b/configure
@@ -128,6 +128,8 @@ fi
if [ -z "${SRCDIR}" ]; then
SRCDIR=$(dirname "${0}")
fi
+# Make SRCDIR an absolute path if it isn't already.
+SRCDIR=$(cd ${SRCDIR} && pwd)
if [ -z "${PREFIX}" ]; then
PREFIX=/usr/local
fi
diff --git a/lib/Makefile.in b/lib/Makefile.in
index a29e71b..cc2f4cb 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -34,25 +34,25 @@ all: $(OBJS)
$(OBJS):
@printf ' SED %s\n' '$@'
- @sed -f sedscript $(SRCDIR)/lib/$@ > lib/$@
+ @sed -f ../sedscript $(SRCDIR)/lib/$@ > $@
.PHONY: clean
clean:
- @ for obj in $(OBJS); do \
- printf ' RM lib/%s\n' "\${obj}"; \
- rm -f lib/\${obj}; \
- done
+ @for obj in $(OBJS); do \
+ printf ' RM lib/%s\n' "$${obj}"; \
+ rm -f $${obj}; \
+ done
.PHONY: install
install: all
- @ for obj in $(OBJS); do \
- printf ' INSTALL lib/%s\n' "\${obj}"; \
- $(INSTALL) -D lib/\${obj} "$(DESTDIR)/$(LIBDIR)"; \
- done
+ @for obj in $(OBJS); do \
+ printf ' INSTALL lib/%s\n' "$${obj}"; \
+ $(INSTALL) -D $${obj} "$(DESTDIR)/$(LIBDIR)/$${obj}"; \
+ done
.PHONY: uninstall
uninstall:
- @ for obj in $(OBJ); do \
- printf ' RM %s\n' "\${obj}"; \
- rm -f "$(DESTDIR)/$(LIBDIR)/\${obj}"; \
- done
+ @for obj in $(OBJ); do \
+ printf ' RM %s\n' "$${obj}"; \
+ rm -f "$(DESTDIR)/$(LIBDIR)/$${obj}"; \
+ done
diff --git a/man/Makefile.in b/man/Makefile.in
index 45059ca..4da185d 100644
--- a/man/Makefile.in
+++ b/man/Makefile.in
@@ -34,25 +34,27 @@ all: $(OBJS)
$(OBJS):
@printf ' CP man/%s\n' '$@'
- @cp $(SRCDIR)/man/$@ man/$@
+ @cp $(SRCDIR)/man/$@ $@
.PHONY: clean
clean:
- @ for obj in $(OBJS); do \
- printf ' RM man/%s\n' "\${obj}"; \
- rm -f man/\${obj}; \
- done
+ @for obj in $(OBJS); do \
+ printf ' RM man/%s\n' "$${obj}"; \
+ rm -f $${obj}; \
+ done
.PHONY: install
install: all
- @ for obj in $(OBJS); do \
- printf ' INSTALL man/%s\n' "\${obj}"; \
- $(INSTALL) -D man/\${obj} "$(DESTDIR)/$(MANDIR)"; \
- done
+ @for obj in $(OBJS); do \
+ printf ' INSTALL man/%s\n' "$${obj}"; \
+ section=$$(echo "$${obj}" | sed 's/^.*[.]\([0-9]\)$$/\1/'); \
+ $(INSTALL) -D $${obj} "$(DESTDIR)/$(MANDIR)/man$${section}/$${obj}"; \
+ done
.PHONY: uninstall
uninstall:
- @ for obj in $(OBJ); do \
- printf ' RM %s\n' "\${obj}"; \
- rm -f "$(DESTDIR)/$(MANDIR)/\${obj}"; \
- done
+ @for obj in $(OBJ); do \
+ printf ' RM %s\n' "$${obj}"; \
+ section=$$(echo "$${obj}" | sed 's/^.*[.]\([0-9]\)$$/\1/'); \
+ rm -f "$(DESTDIR)/$(MANDIR)/man$${section}/$${obj}"; \
+ done
diff --git a/src/Makefile.in b/src/Makefile.in
index 2931f11..318b7c5 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -34,25 +34,25 @@ all: $(OBJS)
$(OBJS):
@printf ' SED %s\n' '$@'
- @sed -f sedscript $(SRCDIR)/src/$@ > src/$@
+ @sed -f ../sedscript $(SRCDIR)/src/$@ > $@
.PHONY: clean
clean:
- @ for obj in $(OBJS); do \
- printf ' RM src/%s\n' "\${obj}"; \
- rm -f src/\${obj}; \
- done
+ @for obj in $(OBJS); do \
+ printf ' RM src/%s\n' "$${obj}"; \
+ rm -f $${obj}; \
+ done
.PHONY: install
install: all
- @ for obj in $(OBJS); do \
- printf ' INSTALL src/%s\n' "\${obj}"; \
- $(INSTALL) -D src/\${obj} "$(DESTDIR)/$(BINDIR)"; \
- done
+ @for obj in $(OBJS); do \
+ printf ' INSTALL src/%s\n' "$${obj}"; \
+ $(INSTALL) -D $${obj} "$(DESTDIR)/$(BINDIR)/$${obj}"; \
+ done
.PHONY: uninstall
uninstall:
- @ for obj in $(OBJ); do \
- printf ' RM %s\n' "\${obj}"; \
- rm -f "$(DESTDIR)/$(BINDIR)/\${obj}"; \
- done
+ @for obj in $(OBJ); do \
+ printf ' RM %s\n' "$${obj}"; \
+ rm -f "$(DESTDIR)/$(BINDIR)/$${obj}"; \
+ done