Annotation of src/share/mk/bsd.own.mk, Revision 1.117
1.117 ! matthew 1: # $OpenBSD: bsd.own.mk,v 1.116 2012/04/12 11:22:14 jsg 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
15: # Set `KERBEROS5' to `yes' to build with support for Kerberos5 authentication.
1.47 hin 16: KERBEROS5?= yes
1.19 downsj 17: # Set `YP' to `yes' to build with support for NIS/YP.
1.15 millert 18: YP?= yes
1.19 downsj 19: # Set `TCP_WRAPPERS' to `yes' to build certain networking daemons with
20: # integrated support for libwrap.
21: TCP_WRAPPERS?= yes
1.23 art 22: # Set `AFS` to `yes' to build with AFS support.
1.69 deraadt 23: AFS?= yes
1.32 niklas 24: # Set `DEBUGLIBS' to `yes' to build libraries with debugging symbols
1.33 marc 25: DEBUGLIBS?= no
1.61 pvalchev 26: # Set toolchain to be able to know differences.
1.82 mickey 27: .if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m88k" || \
28: ${MACHINE_ARCH} == "vax"
29: ELF_TOOLCHAIN?= no
30: .else
1.50 drahn 31: ELF_TOOLCHAIN?= yes
32: .endif
1.71 espie 33:
1.109 miod 34: GCC2_ARCH=m68k m88k vax
1.116 jsg 35: GCC4_ARCH=alpha amd64 arm avr32 hppa hppa64 i386 ia64 mips64 mips64el powerpc sparc sparc64 sh
1.113 jasper 36: BINUTILS217_ARCH=avr32 hppa64 ia64
1.106 drahn 37:
38: .for _arch in ${MACHINE_ARCH}
39: .if !empty(GCC2_ARCH:M${_arch})
1.92 mickey 40: USE_GCC3?=no
1.101 espie 41: COMPILER_VERSION?=gcc2
1.106 drahn 42: .elif !empty(GCC4_ARCH:M${_arch})
1.101 espie 43: COMPILER_VERSION?=gcc4
1.92 mickey 44: .else
1.72 mickey 45: USE_GCC3?=yes
1.101 espie 46: COMPILER_VERSION?=gcc3
1.107 drahn 47: .endif
48:
49: .if !empty(BINUTILS217_ARCH:M${_arch})
50: BINUTILS_VERSION=binutils-2.17
51: .else
52: BINUTILS_VERSION=binutils
1.72 mickey 53: .endif
1.106 drahn 54: .endfor
1.117 ! matthew 55:
! 56: .if ${COMPILER_VERSION} == "gcc4"
! 57: VISIBILITY_HIDDEN?=-fvisibility=hidden
! 58: .endif
1.32 niklas 59:
1.1 deraadt 60: # where the system object and source trees are kept; can be configurable
61: # by the user in case they want them in ~/foosrc and ~/fooobj, for example
62: BSDSRCDIR?= /usr/src
63: BSDOBJDIR?= /usr/obj
64:
65: BINGRP?= bin
1.9 deraadt 66: BINOWN?= root
1.1 deraadt 67: BINMODE?= 555
68: NONBINMODE?= 444
1.28 espie 69: DIRMODE?= 755
1.1 deraadt 70:
1.18 tholo 71: SHAREDIR?= /usr/share
72: SHAREGRP?= bin
73: SHAREOWN?= root
74: SHAREMODE?= ${NONBINMODE}
1.1 deraadt 75:
1.105 schwarze 76: MANDIR?= /usr/share/man/man
1.1 deraadt 77: MANGRP?= bin
1.9 deraadt 78: MANOWN?= root
1.1 deraadt 79: MANMODE?= ${NONBINMODE}
80:
81: LIBDIR?= /usr/lib
82: LIBGRP?= ${BINGRP}
83: LIBOWN?= ${BINOWN}
84: LIBMODE?= ${NONBINMODE}
85:
86: DOCDIR?= /usr/share/doc
87: DOCGRP?= bin
1.9 deraadt 88: DOCOWN?= root
1.1 deraadt 89: DOCMODE?= ${NONBINMODE}
1.5 tholo 90:
91: LKMDIR?= /usr/lkm
92: LKMGRP?= ${BINGRP}
93: LKMOWN?= ${BINOWN}
94: LKMMODE?= ${NONBINMODE}
1.1 deraadt 95:
96: NLSDIR?= /usr/share/nls
97: NLSGRP?= bin
1.9 deraadt 98: NLSOWN?= root
1.1 deraadt 99: NLSMODE?= ${NONBINMODE}
1.93 espie 100:
101: LOCALEDIR?= /usr/share/locale
102: LOCALEGRP?= wheel
103: LOCALEOWN?= root
104: LOCALEMODE?= ${NONBINMODE}
1.56 espie 105:
1.57 espie 106: # Shared files for system gnu configure, not used yet
107: GNUSYSTEM_AUX_DIR?=${BSDSRCDIR}/share/gnu
1.1 deraadt 108:
1.17 millert 109: INSTALL_COPY?= -c
1.13 niklas 110: .ifndef DEBUG
1.17 millert 111: INSTALL_STRIP?= -s
1.13 niklas 112: .endif
1.12 downsj 113:
114: # This may be changed for _single filesystem_ configurations (such as
115: # routers and other embedded systems); normal systems should leave it alone!
1.11 downsj 116: STATIC?= -static
1.1 deraadt 117:
118: # Define SYS_INCLUDE to indicate whether you want symbolic links to the system
119: # source (``symlinks''), or a separate copy (``copies''); (latter useful
120: # in environments where it's not possible to keep /sys publicly readable)
121: #SYS_INCLUDE= symlinks
122:
123: # don't try to generate PIC versions of libraries on machines
124: # which don't support PIC.
1.99 drahn 125: .if ${MACHINE_ARCH} == "m88k" || ${MACHINE_ARCH} == "vax"
1.1 deraadt 126: NOPIC=
1.58 drahn 127: .endif
128:
1.86 pvalchev 129: # pic relocation flags.
1.96 martin 130: .if (${MACHINE_ARCH} == "alpha") || (${MACHINE_ARCH} == "sparc64")
1.100 deraadt 131: PICFLAG?=-fPIC
1.86 pvalchev 132: .else
1.100 deraadt 133: PICFLAG?=-fpic
1.86 pvalchev 134: . if ${MACHINE_ARCH} == "m68k"
135: # Function CSE makes gas -k not recognize external function calls as lazily
136: # resolvable symbols, thus sometimes making ld.so report undefined symbol
137: # errors on symbols found in shared library members that would never be
138: # called. Ask niklas@openbsd.org for details.
139: PICFLAG+=-fno-function-cse
140: . endif
1.62 art 141: .endif
1.86 pvalchev 142:
1.95 brad 143: .if ${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64"
1.58 drahn 144: ASPICFLAG=-KPIC
1.95 brad 145: .elif ${ELF_TOOLCHAIN:L} == "no"
1.58 drahn 146: ASPICFLAG=-k
1.14 rahnds 147: .endif
148:
149: # don't try to generate PROFILED versions of libraries on machines
150: # which don't support profiling.
1.87 miod 151: .if 0
1.14 rahnds 152: NOPROFILE=
1.1 deraadt 153: .endif
1.31 espie 154:
155: BSD_OWN_MK=Done
1.41 espie 156:
157: .PHONY: spell clean cleandir obj manpages print all \
1.98 espie 158: depend beforedepend afterdepend cleandepend subdirdepend \
1.115 jsg 159: all cleanman nlsinstall cleannls includes \
1.41 espie 160: beforeinstall realinstall maninstall afterinstall install