-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.inc
134 lines (117 loc) · 4.08 KB
/
Makefile.inc
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# -*- makefile-bsdmake -*-
#
# Common/shared setup for BSD Makefiles
#
# This should be included at the top of all your Makefiles
#
# Copyright (C) 2019 Greg A. Woods - This work is licensed under the Creative
# Commons Attribution-ShareAlike 4.0 International License. To view a copy of
# the license, visit <URL:http://creativecommons.org/licenses/by-sa/4.0/>, or
# send a letter to: Creative Commons, PO Box 1866, Mountain View, CA 94042, USA
#
# WARNING!!! Do not put any targets in here!
# N.B.: Nothing in here should be changed just to build this project.
#
# (Some settings can be overridden on the command-line or from environment
# variables though...)
# XXX see SJG's SSLrsh release for simple portability hacks via Make
# e.g. in particular the use of .-include "$Makefile.${MACHINE}.inc" etc.
# NOTICE: Nothing below here _should_ be project dependent
# For testing and debugging -- at least on sane systems, or with 'bmake'
#
# (note these can also be overridden on the command line)
#
# (note: bmake puts optimizer flags in DBG)
#
#DBG ?= -g
#OPTIM ?= -O0
NOGCCERROR = 1
WARNS = 0
# N.B.: ${DESTDIR} if set on the 'install' command line, it is also prepended
# to each of these target directories.
#
INSTALL_OPTS = # for specific ownerships
# these will be over-ridden by pkgsrc
BINDIR ?= /bin
INCSDIR ?= /include${INCSUBDIR}
LIBDIR ?= /lib
DEBUGDIR ?= /libdata/debug
LINTLIBDIR ?= /libdata/lint
SHAREDIR ?= /share
DOCDIR ?= ${SHAREDIR}/doc
MANDIR ?= ${SHAREDIR}/man
# xxx all this otherwise some systems won't allow unprivileged installs
.if ${USER} != "root"
USER_GRP != id -g
BINOWN = ${USER}
BINGRP = ${USER_GRP}
LIBOWN = ${USER}
LIBGRP = ${USER_GRP}
SHAREOWN = ${USER}
SHAREGRP = ${USER_GRP}
FILESOWN = ${USER}
FILESGRP = ${USER_GRP}
NOBINMODE = 644 # else OSX bsdmake can't install!
DEBUGOWN = ${USER}
DEBUGGRP = ${USER_GRP}
MANOWN = ${USER}
MANGRP = ${USER_GRP}
DOCOWN = ${USER}
DOCGRP = ${USER_GRP}
# xxx adapt for typo in mk-20150901 through at least mk-20170418
DOGGRP = ${USER_GRP}
.endif
STRIP = # empty (needed for OSX bsdmake install)
# more hacks to avoid missing system dependencies with DESTDIR set
DPLIBC = # empty
LIBC = # empty
LIBCRT0 = # empty
LIBCRTI = # empty
LIBCRTBEGIN = # empty
LIBCRTEND = # empty
SHLIB_LDSTARTFILE = # empty
SHLIB_LDENDFILE = # empty
MKHTML = yes
# XXX MANTARGET does nothing?
MANTARGET += html
# Finally some common settings
#
# N.B.: all sub-directory Makefiles must set ${bmake_topdir} to be a relative
# path to the top of the source tree. This would not be necessary if/when all
# supported BSDMake versions have the ${.MAKE.LEVEL} feature. ${.MAKE.LEVEL}
# was first found in NetBSD-current after 2009/09/08 but it is not found in any
# release until 6.0. Unfortunately there is no easy way to know definitively
# what version of BSDMake is being used. Simon Gerraty's bmake has
# MAKE_VERSION, as does FreeBSD's make though they are entirely and totally
# different and unrelated. In NetBSD MAKE_VERSION was only briefly present
# since it represented the build date, not the release date, and it was removed
# in order to make it possible to do reproducible builds.
#
bmake_topdir ?= # emptyy
bmake_srcdir = ${.CURDIR}/${bmake_topdir}
CPPFLAGS += -I${bmake_srcdir}
MKOBJ = yes
# XXX ideally this would be "auto", but that is not yet very widely supported.
# See Makefile.end.
MKOBJDIRS = yes
# yes, always -- we use this because it's safer when using a shared network
# directory for building/testing/etc. (though it is sometimes somewhat
# annoying)
#
OBJMACHINE ?= yes
# Yes, "make obj" is forced -- it is stupid to build in the source directory)
# (forcing "make depend" is also good, though a bit of a waste for pkgsrc.
#
# Note with some versions of "bmake" this will cause obj* directories to be
# created in the existing obj* directories the second time around...
#
BUILDTARGETS = bmake-do-obj
BUILDTARGETS += .WAIT
BUILDTARGETS += bmake-do-depend
BUILDTARGETS += .WAIT
#
# Local Variables:
# eval: (make-local-variable 'compile-command)
# compile-command: (concat "mkdir -p build; MAKEOBJDIRPREFIX=$(pwd)/build " (default-value 'compile-command))
# End:
#