aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2019-03-31 18:13:35 -0400
committerB Stack <bgstack15@gmail.com>2019-03-31 18:13:35 -0400
commitd5744345d6f32d31882acdc5dc0641d202f7cad6 (patch)
treea49539acdc8bdd21330baa74227db97bfb5d6096 /Makefile
parentuse color by default (diff)
downloadbeyond-the-titanic-d5744345d6f32d31882acdc5dc0641d202f7cad6.tar.gz
beyond-the-titanic-d5744345d6f32d31882acdc5dc0641d202f7cad6.tar.bz2
beyond-the-titanic-d5744345d6f32d31882acdc5dc0641d202f7cad6.zip
add makefile and other package-ready elements
This adds open-source-licensed files that will help package builders build this application for distros.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile74
1 files changed, 74 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6b6c360
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,74 @@
+# File: Makefile for Beyond the Titanic
+# Location:
+# Author: bgstack15
+# Startdate: 2019-03-31
+# Title: Makefile for Beyond the Titanic source package
+# Purpose: To use traditional Unix make utility
+# History:
+# Usage:
+# Reference:
+# bgscripts Makefile, move-to-next-monitor Makefile
+# Improve:
+# Document:
+# Dependencies:
+# Free Pascal compiler: fpc
+
+APPNAME = beyond-the-titanic
+APPVERSION = 0.0.1
+PKGDIR = $(CURDIR)
+SRCDIR = $(CURDIR)/src
+prefix = /usr
+BINDIR = $(DESTDIR)$(prefix)/bin
+SHAREDIR = $(DESTDIR)$(prefix)/share
+APPDIR = $(SHAREDIR)/$(APPNAME)
+APPSDIR = $(SHAREDIR)/applications
+DOCDIR = $(SHAREDIR)/doc/$(APPNAME)
+LICENSEDIR = $(SHAREDIR)/licenses/$(APPNAME)
+
+awkbin :=$(shell which awk)
+cpbin :=$(shell which cp)
+echobin :=$(shell which echo)
+findbin :=$(shell which find)
+fpcbin :=$(shell which fpc)
+grepbin :=$(shell which grep)
+installbin :=$(shell which install)
+rmbin :=$(shell which rm)
+sedbin :=$(shell which sed)
+sortbin :=$(shell which sort)
+truebin :=$(shell which true)
+
+all:
+ ${fpcbin} $(SRCDIR)/BEYOND.PAS
+
+.PHONY: clean install install_files uninstall list
+
+list:
+ @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | ${awkbin} -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | ${sortbin} | ${grepbin} -E -v -e '^[^[:alnum:]]' -e '^$@$$'
+
+install: install_files install_docs
+
+install_files:
+ ${echobin} Installing files to ${DESTDIR}
+ ${installbin} -d ${BINDIR} ${APPDIR} ${APPSDIR}
+ ls -l ${SRCDIR}
+ for word in $$( ${findbin} ${SRCDIR} ! -type d ! -name '*.*' -print ) ; do ${installbin} -m0644 $${word} ${APPDIR} ; done
+ ${installbin} -m '0755' ${SRCDIR}/BEYOND ${APPDIR}/
+ ${installbin} -m '0755' ${PKGDIR}/${APPNAME} ${BINDIR}/
+ ${installbin} -m '0644' ${PKGDIR}/${APPNAME}.desktop ${APPSDIR}/
+
+install_docs:
+ ${echobin} Installing docs to ${DOCDIR}
+ ${installbin} -d ${DOCDIR} ${LICENSEDIR}
+ ${cpbin} -pr ${PKGDIR}/History/* ${PKGDIR}/INSTRUCT.TXT ${DOCDIR}
+ ${installbin} -m '0644' -t ${LICENSEDIR} ${PKGDIR}/*gpl*.txt ${PKGDIR}/LICENSES.txt
+
+uninstall:
+ ${echobin} SRCDIR=${SRCDIR}
+ ${rmbin} -rf ${APPDIR}/* ${DOCDIR}/* ${LICENSEDIR}/* ${APPSDIR}/${APPNAME}.desktop ${BINDIR}/${APPNAME}
+
+ # remove all installed directories that are now blank.
+ for word in $$( ${findbin} ${DESTDIR} -mindepth 1 -type d -printf '%p\n' | ${awkbin} '{print length, $$0 }' | ${sortbin} -rn | ${awkbin} '{print $$2}' ) ; do ${findbin} $${word} -mindepth 1 1>/dev/null 2>&1 | read 1>/dev/null 2>&1 || { rmdir "$${word}" 2>/dev/null || ${truebin} ; } ; done
+
+clean:
+#${echobin} "target $@ not implemented yet! Gotta say unh."
+ ${rmbin} -f ${SRCDIR}/BEYOND ${SRCDIR}/BEYOND.o
bgstack15