Merge from vendor branch NTPD:
[dragonfly.git] / share / mk / bsd.port.mk
1 # $FreeBSD: src/share/mk/bsd.port.mk,v 1.303.2.2 2002/07/17 19:08:23 ru Exp $
2 # $DragonFly: src/share/mk/Attic/bsd.port.mk,v 1.30 2005/04/08 16:38:31 joerg Exp $
3
4 PORTSDIR?=      /usr/ports
5 DFPORTSDIR?=    /usr/dfports
6 PORTPATH!=      /usr/bin/relpath ${PORTSDIR} ${.CURDIR}
7
8 .if !defined(DFOSVERSION)
9 DFOSVERSION!=   /sbin/sysctl -n kern.osreldate
10 .endif
11
12 # Temporary Hack
13 #
14 OSVERSION ?= 480102
15 UNAME_s?= FreeBSD
16 UNAME_v?=FreeBSD 4.8-CURRENT
17 UNAME_r?=4.8-CURRENT
18
19 # override for bsd.port.mk
20 PERL_VERSION?=  5.8.6
21 PERL_VER?=      5.8.6
22
23 .makeenv UNAME_s
24 .makeenv UNAME_v
25 .makeenv UNAME_r
26 .makeenv OSVERSION
27
28 # handle both native and override ports
29 .undef USE_GETOPT_LONG
30
31 .if defined(USE_RCORDER)
32 _DF_USE_RCORDER:=       ${USE_RCORDER}
33 .endif
34 .if defined(USE_RC_SUBR)
35 _DF_USE_RC_SUBR:=       ${USE_RC_SUBR}
36 .endif
37
38 .if !target(install-rc-script)
39 install-rc-script:
40 .if defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES"
41 .if defined(USE_RCORDER)
42         @${ECHO_CMD} "===> Installing early rcNG startup script(s)"
43         @${ECHO_CMD} "@cwd /" >> ${TMPPLIST}
44         @for i in ${_DF_USE_RCORDER}; do \
45                 ${INSTALL_SCRIPT} ${WRKDIR}/$${i} /etc/rc.d/$${i%.sh}; \
46                 ${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \
47         done
48         @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}
49 .endif
50 .if defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES"
51         @${ECHO_CMD} "===> Installing rcNG startup script(s)"
52         @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}
53         @for i in ${_DF_USE_RC_SUBR}; do \
54                 ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${PREFIX}/etc/rc.d/$${i%.sh}.sh; \
55                 ${ECHO_CMD} "etc/rc.d/$${i%.sh}.sh" >> ${TMPPLIST}; \
56         done
57 .endif
58 .else
59         @${DO_NADA}
60 .endif
61 .endif
62
63 .if defined(USE_RC_SUBR) || defined(USE_RCORDER)
64 RC_SUBR=        /etc/rc.subr
65 SUB_LIST+=      RC_SUBR=${RC_SUBR}
66 .if defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES"
67 SUB_FILES+=     ${_DF_USE_RC_SUBR}
68 .endif
69 .if defined(USE_RCORDER)
70 SUB_FILES+=     ${_DF_USE_RCORDER}
71 .endif
72 .endif
73
74 .undef USE_RC_SUBR
75 .undef USE_RCORDER
76
77 .if !exists(${DFPORTSDIR}/${PORTPATH}/Makefile)
78
79 .if defined(USE_GCC)
80 .  if ${USE_GCC} == 3.4
81 .undef USE_GCC
82 CCVER=  gcc34
83 .makeenv CCVER
84 .  endif
85 .endif
86
87 # If the port does not exist in /usr/dfports/<portpath> use the original
88 # FreeBSD port.  Also process as per normal if BEFOREPORTMK is set so
89 # any expected variables are set.
90 #
91 .include <bsd.own.mk>
92 .include "${PORTSDIR}/Mk/bsd.port.mk"
93
94 .else
95
96 .if !defined(BEFOREPORTMK)
97 .undef PORTSDIR
98 .endif
99
100 .undef BEFOREPORTMK
101 .undef AFTERPORTMK
102
103 # Otherwise retarget to the DragonFly override port.
104 #
105
106 TARGETS+=       all
107 TARGETS+=       build
108 TARGETS+=       checksum
109 TARGETS+=       clean
110 TARGETS+=       clean-for-cdrom
111 TARGETS+=       clean-for-cdrom-list
112 TARGETS+=       clean-restricted
113 TARGETS+=       clean-restricted-list
114 TARGETS+=       configure
115 TARGETS+=       deinstall
116 TARGETS+=       depend
117 TARGETS+=       depends
118 TARGETS+=       describe
119 TARGETS+=       distclean
120 TARGETS+=       extract
121 TARGETS+=       fetch
122 TARGETS+=       fetch-list
123 TARGETS+=       ignorelist
124 TARGETS+=       makesum
125 TARGETS+=       maintainer
126 TARGETS+=       package
127 TARGETS+=       realinstall
128 TARGETS+=       reinstall
129 TARGETS+=       install
130 TARGETS+=       tags
131
132 # WARNING!  Do not use the -B option.  This appears to propogate to the
133 # gmake (probably because both use the same environment variable, MAKEFLAGS,
134 # to pass make options) where as of version 3.80 -B means 'always-make',
135 # which forces all targets, which blows up gnu builds in the ports system
136 # because it appears to cause the configure.status target to loop.
137 #
138 .if !defined(_DFPORTS_REDIRECT)
139 _DFPORTS_REDIRECT=
140 .if !make(package-depends-list) && !make(all-depends-list) && \
141     !make(run-depends-list) && !make(build-depends-list) && \
142     !make(describe) && !make(package-name)
143 .BEGIN:
144         @echo "WARNING, USING DRAGONFLY OVERRIDE ${DFPORTSDIR}/${PORTPATH}"
145         cd ${DFPORTSDIR}/${PORTPATH} && ${MAKE} ${.TARGETS}
146 .else
147 .BEGIN:
148         @cd ${DFPORTSDIR}/${PORTPATH} && ${MAKE} ${.TARGETS} 
149 .endif
150 .endif
151
152 .if !empty(.TARGETS)
153 ${.TARGETS}:
154 .else
155 all:
156 .MAIN: all
157 .endif
158
159 # Hack to get Makefiles with conditional statements working
160 XFREE86_VERSION?=       4
161 ARCH?=                  i386
162 MACHINE_ARCH?=          i386
163 HAVE_GNOME?=
164 FILESDIR?=              ${.CURDIR}/files
165 X_WINDOW_SYSTEM?=       xfree86-4
166 CAT?=                   cat
167 PREFIX?=                /usr
168 PERL_LEVEL?=            5
169 LOCALBASE?=             /usr/local
170 SED?=                   /usr/bin/sed
171 ECHO_CMD?=              echo
172 GREP?=                  /usr/bin/grep
173 AWK?=                   /usr/bin/awk
174 UNAME?=                 /usr/bin/uname
175 EXPR?=                  /bin/expr
176 HAVE_SDL?=
177
178 PKG_SUFX?=              .tgz
179 PKGNAME!=               cd ${DFPORTSDIR}/${PORTPATH}; ${MAKE} -V PKGNAME
180 .for _CATEGORY in ${CATEGORIES}
181 PKGCATEGORY?=   ${_CATEGORY}
182 .endfor
183 _PORTDIRNAME=   ${.CURDIR:T}
184 PORTDIRNAME?=   ${_PORTDIRNAME}
185 PKGORIGIN?=             ${PKGCATEGORY}/${PORTDIRNAME}
186
187 PKGREPOSITORYSUBDIR?=   All
188 PKGREPOSITORY?=         ${PACKAGES}/${PKGREPOSITORYSUBDIR}
189 .if exists(${PACKAGES})
190 PKGFILE?=               ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
191 .else
192 PKGFILE?=               ${.CURDIR}/${PKGNAME}${PKG_SUFX}
193 .endif
194  
195 .endif
196