Annotation of src/share/mk/bsd.own.mk, Revision 1.172
1.172 ! bluhm 1: # $OpenBSD: bsd.own.mk,v 1.171 2015/08/31 20:02:49 deraadt Exp $
1.7 deraadt 2: # $NetBSD: bsd.own.mk,v 1.24 1996/04/13 02:08:09 thorpej Exp $
3:
1.15 millert 4: # Host-specific overrides
1.7 deraadt 5: .if defined(MAKECONF) && exists(${MAKECONF})
6: .include "${MAKECONF}"
7: .elif exists(/etc/mk.conf)
8: .include "/etc/mk.conf"
1.26 art 9: .endif
1.1 deraadt 10:
1.51 espie 11: # Set `WARNINGS' to `yes' to add appropriate warnings to each compilation
12: WARNINGS?= no
1.15 millert 13: # Set `SKEY' to `yes' to build with support for S/key authentication.
14: SKEY?= yes
1.19 downsj 15: # Set `YP' to `yes' to build with support for NIS/YP.
1.15 millert 16: YP?= yes
1.32 niklas 17: # Set `DEBUGLIBS' to `yes' to build libraries with debugging symbols
1.33 marc 18: DEBUGLIBS?= no
1.71 espie 19:
1.145 miod 20: GCC3_ARCH=m88k vax
1.127 deraadt 21:
1.171 deraadt 22: # arm: needs to switch away from SJLJ exceptions
23: # vax: no shared libraries
24: # m88k: ?
1.169 miod 25: PIE_ARCH=alpha amd64 hppa i386 mips64 mips64el powerpc sh sparc sparc64
1.170 miod 26: STATICPIE_ARCH=alpha amd64 hppa i386 mips64 mips64el powerpc sh sparc sparc64
1.106 drahn 27:
28: .for _arch in ${MACHINE_ARCH}
1.141 miod 29: .if !empty(GCC3_ARCH:M${_arch})
30: COMPILER_VERSION?=gcc3
31: .else
1.101 espie 32: COMPILER_VERSION?=gcc4
1.72 mickey 33: .endif
1.121 pascal 34:
1.151 deraadt 35: .if !empty(STATICPIE_ARCH:M${_arch})
1.154 kettenis 36: STATICPIE?=-pie
1.151 deraadt 37: .endif
38:
1.121 pascal 39: .if !empty(PIE_ARCH:M${_arch})
1.137 miod 40: NOPIE_FLAGS?=-fno-pie
41: NOPIE_LDFLAGS?=-nopie
42: PIE_DEFAULT?=${DEFAULT_PIE_DEF}
1.121 pascal 43: .else
1.137 miod 44: NOPIE_FLAGS?=
45: PIE_DEFAULT?=
1.121 pascal 46: .endif
1.106 drahn 47: .endfor
1.117 matthew 48:
49: .if ${COMPILER_VERSION} == "gcc4"
50: VISIBILITY_HIDDEN?=-fvisibility=hidden
51: .endif
1.32 niklas 52:
1.1 deraadt 53: # where the system object and source trees are kept; can be configurable
54: # by the user in case they want them in ~/foosrc and ~/fooobj, for example
55: BSDSRCDIR?= /usr/src
56: BSDOBJDIR?= /usr/obj
57:
58: BINGRP?= bin
1.9 deraadt 59: BINOWN?= root
1.1 deraadt 60: BINMODE?= 555
61: NONBINMODE?= 444
1.28 espie 62: DIRMODE?= 755
1.1 deraadt 63:
1.18 tholo 64: SHAREDIR?= /usr/share
65: SHAREGRP?= bin
66: SHAREOWN?= root
67: SHAREMODE?= ${NONBINMODE}
1.1 deraadt 68:
1.105 schwarze 69: MANDIR?= /usr/share/man/man
1.1 deraadt 70: MANGRP?= bin
1.9 deraadt 71: MANOWN?= root
1.1 deraadt 72: MANMODE?= ${NONBINMODE}
73:
74: LIBDIR?= /usr/lib
75: LIBGRP?= ${BINGRP}
76: LIBOWN?= ${BINOWN}
77: LIBMODE?= ${NONBINMODE}
78:
1.119 haesbaer 79: DOCDIR?= /usr/share/doc
1.1 deraadt 80: DOCGRP?= bin
1.9 deraadt 81: DOCOWN?= root
1.119 haesbaer 82: DOCMODE?= ${NONBINMODE}
1.5 tholo 83:
84: LKMDIR?= /usr/lkm
85: LKMGRP?= ${BINGRP}
86: LKMOWN?= ${BINOWN}
87: LKMMODE?= ${NONBINMODE}
1.1 deraadt 88:
1.93 espie 89: LOCALEDIR?= /usr/share/locale
90: LOCALEGRP?= wheel
91: LOCALEOWN?= root
92: LOCALEMODE?= ${NONBINMODE}
1.119 haesbaer 93:
94: .if !defined(CDIAGFLAGS)
95: CDIAGFLAGS= -Wall -Wpointer-arith -Wuninitialized -Wstrict-prototypes
1.143 martynas 96: CDIAGFLAGS+= -Wmissing-prototypes -Wunused -Wsign-compare
1.119 haesbaer 97: CDIAGFLAGS+= -Wshadow
1.120 sthen 98: . if ${COMPILER_VERSION} == "gcc4"
99: CDIAGFLAGS+= -Wdeclaration-after-statement
100: . endif
1.119 haesbaer 101: .endif
1.56 espie 102:
1.57 espie 103: # Shared files for system gnu configure, not used yet
104: GNUSYSTEM_AUX_DIR?=${BSDSRCDIR}/share/gnu
1.1 deraadt 105:
1.17 millert 106: INSTALL_COPY?= -c
1.13 niklas 107: .ifndef DEBUG
1.17 millert 108: INSTALL_STRIP?= -s
1.13 niklas 109: .endif
1.12 downsj 110:
1.151 deraadt 111: STATIC?= -static ${STATICPIE}
1.1 deraadt 112:
113: # Define SYS_INCLUDE to indicate whether you want symbolic links to the system
114: # source (``symlinks''), or a separate copy (``copies''); (latter useful
115: # in environments where it's not possible to keep /sys publicly readable)
116: #SYS_INCLUDE= symlinks
117:
118: # don't try to generate PIC versions of libraries on machines
119: # which don't support PIC.
1.134 miod 120: .if ${MACHINE_ARCH} == "vax"
1.1 deraadt 121: NOPIC=
1.58 drahn 122: .endif
123:
1.86 pvalchev 124: # pic relocation flags.
1.96 martin 125: .if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "sparc64")
1.100 deraadt 126: PICFLAG?=-fPIC
1.86 pvalchev 127: .else
1.100 deraadt 128: PICFLAG?=-fpic
1.62 art 129: .endif
1.86 pvalchev 130:
1.95 brad 131: .if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64"
1.58 drahn 132: ASPICFLAG=-KPIC
1.121 pascal 133: .endif
134:
1.129 kettenis 135: .if ${MACHINE_ARCH} == "alpha" || ${MACHINE_ARCH} == "powerpc" || \
1.169 miod 136: ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64"
1.121 pascal 137: # big PIE
138: DEFAULT_PIE_DEF=-DPIE_DEFAULT=2
139: .else
140: # small pie
141: DEFAULT_PIE_DEF=-DPIE_DEFAULT=1
1.14 rahnds 142: .endif
143:
144: # don't try to generate PROFILED versions of libraries on machines
145: # which don't support profiling.
1.87 miod 146: .if 0
1.14 rahnds 147: NOPROFILE=
1.1 deraadt 148: .endif
1.31 espie 149:
150: BSD_OWN_MK=Done
1.41 espie 151:
152: .PHONY: spell clean cleandir obj manpages print all \
1.98 espie 153: depend beforedepend afterdepend cleandepend subdirdepend \
1.172 ! bluhm 154: all cleanman includes \
1.41 espie 155: beforeinstall realinstall maninstall afterinstall install