aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2014-03-19 00:19:50 +0800
committerTing-Wei Lan <lantw44@gmail.com>2014-03-19 00:19:50 +0800
commit9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9 (patch)
treefc698f62ea8cc7d71a183d18f8436d030a276210
parent343cacfdbd4b7ed1b79d3d54f88ad5931920f682 (diff)
downloadwspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar.gz
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar.bz2
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar.lz
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar.xz
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.tar.zst
wspkg-9dc3874339ba5e17576ed6cf1b0a2bbc5994a7a9.zip
重新整理 Makefile 並加入簡單的 FreeBSD meta-ports 安裝 script
-rw-r--r--Makefile24
-rw-r--r--Makefile.at4
-rw-r--r--Makefile.debian12
-rw-r--r--Makefile.freebsd19
-rwxr-xr-xfreebsd.install.sh42
5 files changed, 79 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 4846ab2..a0b249d 100644
--- a/Makefile
+++ b/Makefile
@@ -20,28 +20,8 @@ readme: README.html
.txt.html:
-$(AT_DOC)asciidoc -b html -o "$@" "$<"
-DEBIAN_OUTPUT= debian.out/217-meta.deb
-DEBIAN_OUTPUT_TMPDIR= debian.out/217-meta
-debian: debian.html $(DEBIAN_OUTPUT)
-$(DEBIAN_OUTPUT): debian.control
- $(AT_MKDIR)mkdir -p $(DEBIAN_OUTPUT_TMPDIR)/DEBIAN
- $(AT_COPY)cp -pf debian.control $(DEBIAN_OUTPUT_TMPDIR)/DEBIAN/control
- $(AT_PKG)dpkg-deb --build $(DEBIAN_OUTPUT_TMPDIR) $(DEBIAN_OUTPUT)
-debian.control: debian.control.in debian.control.sh debian.list
- $(AT_GEN)./debian.control.sh debian.control.in debian.list > "$@" $(RM_IF_FAIL)
-
-FREEBSD_OUTPUT= freebsd.out/217
-freebsd: freebsd.html $(FREEBSD_OUTPUT)
-$(FREEBSD_OUTPUT): freebsd.makefile
- $(AT_MKDIR)mkdir -p freebsd.out/217
- $(AT_COPY)cp -pf freebsd.makefile freebsd.out/217/Makefile
- $(AT_COPY)cp -pf freebsd.pkg-descr freebsd.out/217/pkg-descr
-freebsd.makefile: freebsd.makefile.in freebsd.makefile.sh freebsd.ports
- $(AT_GEN)./freebsd.makefile.sh freebsd.makefile.in freebsd.ports > "$@" $(RM_IF_FAIL)
-freebsd.ports: freebsd.list freebsd.ports.sh freebsd.ports.find
- $(AT_GEN)./freebsd.ports.sh freebsd.list > "$@" $(RM_IF_FAIL)
-freebsd.ports.find: freebsd.ports.find.c
- $(AT_CC)$(CC) -DHASH_TABLE_SIZE=50000 "$<" -o "$@"
+include Makefile.debian
+include Makefile.freebsd
clean:
rm -f *.control *.makefile *.ports *.list
diff --git a/Makefile.at b/Makefile.at
index 9abacbd..ce48330 100644
--- a/Makefile.at
+++ b/Makefile.at
@@ -27,3 +27,7 @@ AT_COPY_1=
AT_MKDIR=$(AT_MKDIR_$(V))
AT_MKDIR_0=@echo " MKDIR "$@;
AT_MKDIR_1=
+
+AT_INSTALL=$(AT_INSTALL_$(V))
+AT_INSTALL_0=@echo " INSTALL "$@;
+AT_INSTALL_1=
diff --git a/Makefile.debian b/Makefile.debian
new file mode 100644
index 0000000..ced82c4
--- /dev/null
+++ b/Makefile.debian
@@ -0,0 +1,12 @@
+# vim: set ts=8 sts=8 sw=8 ft=make:
+# Create .deb meta-package for Debian
+
+DEBIAN_OUTPUT= debian.out/217-meta.deb
+DEBIAN_OUTPUT_TMPDIR= debian.out/217-meta
+debian: debian.html $(DEBIAN_OUTPUT)
+$(DEBIAN_OUTPUT): debian.control
+ $(AT_MKDIR)mkdir -p $(DEBIAN_OUTPUT_TMPDIR)/DEBIAN
+ $(AT_COPY)cp -pf debian.control $(DEBIAN_OUTPUT_TMPDIR)/DEBIAN/control
+ $(AT_PKG)dpkg-deb --build $(DEBIAN_OUTPUT_TMPDIR) $(DEBIAN_OUTPUT)
+debian.control: debian.control.in debian.control.sh debian.list
+ $(AT_GEN)./debian.control.sh debian.control.in debian.list > "$@" $(RM_IF_FAIL)
diff --git a/Makefile.freebsd b/Makefile.freebsd
new file mode 100644
index 0000000..46735f9
--- /dev/null
+++ b/Makefile.freebsd
@@ -0,0 +1,19 @@
+# vim: set ts=8 sts=8 sw=8 ft=make:
+# Create meta-ports for FreeBSD
+
+FREEBSD_OUTPUT= freebsd.out/217
+freebsd: freebsd.html $(FREEBSD_OUTPUT)
+$(FREEBSD_OUTPUT): freebsd.makefile
+ $(AT_MKDIR)mkdir -p freebsd.out/217
+ $(AT_COPY)cp -pf freebsd.makefile freebsd.out/217/Makefile
+ $(AT_COPY)cp -pf freebsd.pkg-descr freebsd.out/217/pkg-descr
+freebsd.makefile: freebsd.makefile.in freebsd.makefile.sh freebsd.ports
+ $(AT_GEN)./freebsd.makefile.sh freebsd.makefile.in freebsd.ports > "$@" $(RM_IF_FAIL)
+freebsd.ports: freebsd.list freebsd.ports.sh freebsd.ports.find
+ $(AT_GEN)./freebsd.ports.sh freebsd.list > "$@" $(RM_IF_FAIL)
+freebsd.ports.find: freebsd.ports.find.c
+ $(AT_CC)$(CC) -DHASH_TABLE_SIZE=50000 "$<" -o "$@"
+
+# Install meta-ports for FreeBSD
+freebsd-install: freebsd
+ $(AT_INSTALL)./freebsd.install.sh
diff --git a/freebsd.install.sh b/freebsd.install.sh
new file mode 100755
index 0000000..29dfb7f
--- /dev/null
+++ b/freebsd.install.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+msg_and_copy () {
+ echo "==> Copying $1 to $2" 1>&2
+ cp -r "$1" "$2"
+}
+
+msg_and_mkdir () {
+ echo "==> Creating directory $1" 1>&2
+ mkdir -p "$1"
+}
+
+: ${PORTSDIR:="/usr/ports"}
+if [ '!' -d "${PORTSDIR}/local" ]; then
+ msg_and_mkdir "${PORTSDIR}/local"
+
+ echo "=> Generating ${PORTSDIR}/local/Makefile" 2>&1
+ cat << EOF > "${PORTSDIR}/local/Makefile"
+# \$FreeBSD\$
+#
+
+ COMMENT = Local ports
+
+ SUBDIR += 217
+
+.include <bsd.port.subdir.mk>
+EOF
+
+ echo "=> Generating ${PORTSDIR}/local/Makefile.inc" 2>&1
+ cat << EOF > "${PORTSDIR}/local/Makefile.inc"
+# $FreeBSD$
+#
+
+PKGNAMEPREFIX?= local-
+
+# Make sure we have the correct origin registered
+PKGCATEGORY= local
+EOF
+
+fi
+
+msg_and_copy "freebsd.out/217" "${PORTSDIR}/local"