-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.in
65 lines (47 loc) · 2.47 KB
/
Makefile.in
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
#####################
# Begin Makefile.in #
#####################
# XXX: For reasons beyond my understanding, `port check' (on FreeBSD) tries to
# install to an empty directory for staging instead of one populated by
# mtree(8). Thanks to this, the directories must first be created,
# separate from the install command. (GNU `install' creates parent
# directories with `-D`, but this isn't compatible with the traditional
# BSD `install'.
# undocumented
DEBUG_CFLAGS = -g -O0 -std=c89 -pedantic # works with Clang
C_FILES = ${SRCDIR}/main.c ${SRCDIR}/draw.c ${SRCDIR}/options.c
H_FILES = ${SRCDIR}/draw.h ${SRCDIR}/exits.h ${SRCDIR}/i18n.h ${SRCDIR}/options.h ${SRCDIR}/strings.h
.PHONY: all install install-strip install-bin install-bin-strip \
install-docs uninstall uninstall-bin uninstall-docs check clean
all: varlpenis ${BUILD_MO}
varlpenis: ${C_FILES} ${H_FILES} ## Build binary executable
${CC} ${CFLAGS} ${C_FILES} ${FEATURE_CFLAGS} -o varlpenis
install: install-bin install-docs ${INSTALL_MO} ## Install all files
install-strip: install-bin-strip install-docs ${INSTALL_MO} ## Install all files and strip binary executable
install-bin: varlpenis ## Install binary executable
${INSTALL_DIR} ${DESTDIR}${BINDIR}
${INSTALL_PROGRAM} varlpenis ${DESTDIR}${BINDIR}
install-bin-strip: varlpenis ## Install stripped binary executable
${INSTALL_DIR} ${DESTDIR}${BINDIR}
${INSTALL_PROGRAM_STRIP} varlpenis ${DESTDIR}${BINDIR}
install-docs: ## Install manpage
${INSTALL_DIR} ${DESTDIR}${MANDIR}/man6
${INSTALL_MAN} ${DOCDIR}/varlpenis.6 ${DESTDIR}${MANDIR}/man6/varlpenis.6
${INSTALL_DIR} ${DESTDIR}${DATADIR}/varlpenis
${INSTALL_DATA} 8=D.jpg ${DESTDIR}${DATADIR}/varlpenis/8=D.jpg
uninstall: uninstall-bin uninstall-docs ${UNINSTALL_MO} ## Uninstall all items
uninstall-bin: ## Uninstall varlpenis executable
${RM} ${DESTDIR}${BINDIR}/varlpenis
uninstall-docs: ## Uninstall manpage
${RM} ${DESTDIR}${MANDIR}/man6/varlpenis.6
${RM} ${DESTDIR}${DATADIR}/varlpenis
check: varlpenis ## Check basic functionality of output executable
${SHELL} ./check.sh
tags: ## Generate tag file
${CTAGS} ${SRCDIR}/*
clean: ${CLEAN_MO} ## Clean all generated files (except Makefile)
${RM} *.o varlpenis check.sh tags
# `Shell script voodoo' borrowed from François Zaninotto:
# <https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html>
help: ## View this message
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' Makefile | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "%-20s %s\n", $$1, $$2}'