blob: 693463161b240d69314646f9c1dfc8338936a91e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File: Makefile for systemdtl
# Location:
# Author: bgstack15
# Startdate: 2020-01-13
# Title: Makefile for systemdtl source package
# Purpose: To use traditional Unix make utility
# History:
# Usage:
# Reference:
# bgscripts Makefile, beyond-the-titanic Makefile
# Improve:
# Document:
# Dependencies:
APPNAME = systemctl
PKGNAME = systemdtl
APPVERSION = 0.0.1
PKGDIR = $(CURDIR)
SRCDIR = $(CURDIR)/src
prefix = /usr
SBINDIR = $(DESTDIR)$(prefix)/sbin
SHAREDIR = $(DESTDIR)$(prefix)/share
CONFIGDIR = $(DESTDIR)/etc
#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)
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:
${echobin} No compilation required.
.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_files:
${echobin} Installing files to ${DESTDIR}
${installbin} -d ${SBINDIR} ${CONFIGDIR}
${installbin} -m0755 ${SRCDIR}/sbin/${APPNAME} ${SBINDIR}
${installbin} -m0644 ${SRCDIR}/etc/${PKGNAME}.conf ${CONFIGDIR}
for word in $$( ${findbin} ${SRCDIR} ! -type d ! -name '*.*' -print ) ; do ${echobin} ${installbin} -m0644 $${word} ${APPDIR} ; done
uninstall:
${echobin} SRCDIR=${SRCDIR}
# remove all files whose path match the files from the src/ directory from this install location.
for word in $$( ${findbin} ${DESTDIR} -mindepth 1 ! -type d -printf '%p\n' | ${awkbin} '{print length, $$0 }' | ${sortbin} -rn | ${awkbin} '{print $$2}' ) ; do ${rmbin} $${word} 2>/dev/null || ${truebin} ; done
# 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."
|