summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-05-05 17:03:13 (EDT)
committer P. J. McDermott <pjm@nac.net>2013-05-05 17:13:45 (EDT)
commita38b833d2d658d8836e329a97baed962b2c5dc73 (patch)
treeaf4a6b03fd382ffd51ff174939c75086241d18c9
parent72a1e22cc5ddc24886a2c6c86252ff616449bba7 (diff)
Make src/ non-recursive.
-rw-r--r--Makefile.in60
-rw-r--r--src/Makefile.in85
-rw-r--r--src/local.mk43
3 files changed, 87 insertions, 101 deletions
diff --git a/Makefile.in b/Makefile.in
index c699c11..3c5085c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -45,15 +45,25 @@ MACROS = \
'libopkbuild_1=$(libopkbuild_1)' \
'archtab=$(archtab)'
-distdir = $(package_name)-$(package_version)
-distfiles = configure Makefile.in COPYING.2 COPYING.3 \
- README INSTALL ChangeLog TODO
-
.SUFFIXES:
-all:
- @printf 'Making executable files...\n'
- @cd src && $(MAKE) $(MACROS) all
+include $(srcdir)/src/local.mk
+
+bin = $(src_bin)
+
+distdir = $(package_name)-$(package_version)
+distfiles = \
+ configure \
+ Makefile.in \
+ COPYING.2 \
+ COPYING.3 \
+ README \
+ INSTALL \
+ ChangeLog \
+ TODO \
+ $(src_distfiles)
+
+all: all-exec
@printf 'Making library files...\n'
@cd lib && $(MAKE) $(MACROS) all
@cd lib/buildsystem && $(MAKE) $(MACROS) all
@@ -61,10 +71,10 @@ all:
@cd locale && $(MAKE) $(MACROS) all
@printf 'Making manual pages...\n'
@cd man && $(MAKE) $(MACROS) all
+all-exec: all-bin
+all-bin: $(bin)
-clean:
- @printf 'Cleaning executable files...\n'
- @cd src && $(MAKE) $(MACROS) clean
+clean: clean-exec
@printf 'Cleaning library files...\n'
@cd lib && $(MAKE) $(MACROS) clean
@cd lib/buildsystem && $(MAKE) $(MACROS) clean
@@ -72,10 +82,14 @@ clean:
@cd locale && $(MAKE) $(MACROS) clean
@printf 'Cleaning manual pages...\n'
@cd man && $(MAKE) $(MACROS) clean
+clean-exec: clean-bin
+clean-bin:
+ @for f in $(bin); do \
+ printf ' RM %s\n' "$${f}"; \
+ rm -f "$${f}"; \
+ done
-install: all
- @printf 'Installing executable files...\n'
- @cd src && $(MAKE) $(MACROS) install
+install: all install-exec
@printf 'Installing library files...\n'
@cd lib && $(MAKE) $(MACROS) install
@cd lib/buildsystem && $(MAKE) $(MACROS) install
@@ -83,10 +97,17 @@ install: all
@cd locale && $(MAKE) $(MACROS) install
@printf 'Installing manual pages...\n'
@cd man && $(MAKE) $(MACROS) install
+install-exec: install-bin
+install-bin:
+ @mkdir -p '$(DESTDIR)/$(bindir)'
+ @for f in $(bin); do \
+ printf ' INSTALL %s\n' "$${f}"; \
+ ff="$$(basename "$${f}")"; \
+ cp "$${f}" "$(DESTDIR)/$(bindir)/$${ff}"; \
+ chmod 755 "$(DESTDIR)/$(bindir)/$${ff}"; \
+ done
-uninstall:
- @printf 'Uninstalling executable files...\n'
- @cd src && $(MAKE) $(MACROS) uninstall
+uninstall: uninstall-exec
@printf 'Uninstalling library files...\n'
@cd lib/buildsystem && $(MAKE) $(MACROS) uninstall
@cd lib && $(MAKE) $(MACROS) uninstall
@@ -94,6 +115,13 @@ uninstall:
@cd locale && $(MAKE) $(MACROS) uninstall
@printf 'Uninstalling manual pages...\n'
@cd man && $(MAKE) $(MACROS) uninstall
+uninstall-exec: uninstall-bin
+uninstall-bin:
+ @for f in $(bin); do \
+ printf ' RM %s\n' "$${f}"; \
+ ff="$$(basename "$${f}")"; \
+ rm -f "$(DESTDIR)/$(bindir)/$${ff}"; \
+ done
$(distdir):
@mkdir -p '$(distdir)'
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644
index fe9e8ee..0000000
--- a/src/Makefile.in
+++ /dev/null
@@ -1,85 +0,0 @@
-# opkhelper
-# Makefile.in
-# Input Makefile for configure.
-#
-# Copyright (C) 2012 Patrick "P. J." McDermott
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-package_name = @package_name@
-package_version= @package_version@
-
-srcdir = @srcdir@
-prefix = @prefix@
-bindir = @bindir@
-libdir = @libdir@
-datadir = @datadir@
-localedir = @localedir@
-libopkhelper = @libopkhelper@
-
-sh = @sh@
-
-sed_script = s&@@PACKAGE_NAME@@&$(package_name)&;\
- s&@@PACKAGE_VERSION@@&$(package_version)&;\
- s&@@LOCALEDIR@@&$(localedir)&;\
- s&@@LIBOPKHELPER@@&$(libopkhelper)&;\
- s&@@SH@@&$(sh)&;
-
-.SUFFIXES:
-.SUFFIXES: .sh
-
-SRCS = \
- oh-installfiles.sh \
- oh-strip.sh \
- oh-fixperms.sh \
- oh-autoconfigure.sh \
- oh-autobuild.sh \
- oh-autoclean.sh \
- oh-autotest.sh \
- oh-autoinstall.sh \
- oh-architecture.sh
-OBJS = $(SRCS:.sh=)
-
-distdir = ../$(package_name)-$(package_version)/src
-distfiles = Makefile.in $(SRCS)
-
-all: $(OBJS)
-
-$(OBJS):
- @printf ' SED src/%s\n' '$@'
- @sed '$(sed_script)' '$(srcdir)/src/$@.sh' >'$@'
-
-clean:
- @for obj in $(OBJS); do \
- printf ' RM src/%s\n' "$${obj}"; \
- rm -f "$${obj}"; \
- done
-
-install: all
- @for obj in $(OBJS); do \
- printf ' INSTALL src/%s\n' "$${obj}"; \
- mkdir -p '$(DESTDIR)/$(bindir)'; \
- cp "$${obj}" "$(DESTDIR)/$(bindir)/$${obj}"; \
- chmod 755 "$(DESTDIR)/$(bindir)/$${obj}"; \
- done
-
-uninstall:
- @for obj in $(OBJS); do \
- printf ' RM %s\n' "$${obj}"; \
- rm -f "$(DESTDIR)/$(bindir)/$${obj}"; \
- done
-
-$(distdir):
- @mkdir -p '$(distdir)'
- @cp -pR $(distfiles) '$(distdir)'
diff --git a/src/local.mk b/src/local.mk
new file mode 100644
index 0000000..60d7fb3
--- /dev/null
+++ b/src/local.mk
@@ -0,0 +1,43 @@
+# opkhelper
+# src/local.mk
+#
+# Copyright (C) 2012-2013 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+src_srcs = \
+ src/oh-installfiles.sh \
+ src/oh-strip.sh \
+ src/oh-fixperms.sh \
+ src/oh-autoconfigure.sh \
+ src/oh-autobuild.sh \
+ src/oh-autoclean.sh \
+ src/oh-autotest.sh \
+ src/oh-autoinstall.sh \
+ src/oh-architecture.sh
+src_bin = $(src_srcs:.sh=)
+src_distfiles = src/local.mk $(src_srcs)
+
+src_script = \
+ s&@@PACKAGE_NAME@@&$(package_name)&;\
+ s&@@PACKAGE_VERSION@@&$(package_version)&;\
+ s&@@LOCALEDIR@@&$(localedir)&;\
+ s&@@LIBOPKHELPER@@&$(libopkhelper)&;\
+ s&@@SH@@&$(sh)&;
+
+.SUFFIXES: .sh
+
+.sh:
+ @printf ' SED %s\n' '$*'
+ @sed '$(src_script)' '$(srcdir)/$*.sh' >'$*'