]> git.saurik.com Git - apple/libc.git/blobdiff - Makefile.fbsd_end
Libc-498.1.5.tar.gz
[apple/libc.git] / Makefile.fbsd_end
index 835bd0d9d0af5065ca758f4d9a34e28af29820b7..6275b0529672139b6bb39d6d604a8bb9bb70e26b 100644 (file)
 
 FBSDSECTIONS= 1 2 3 4 5 6 7 8 9
 
-.if !target(_FBSDPATCH)
-_FBSDPATCH: .USE
-       @if [ -f ${.ALLSRC}.patch ]; then \
-           echo cp ${.ALLSRC} ${.TARGET}; \
-           cp ${.ALLSRC} ${.TARGET}; \
-           echo patch ${.TARGET} ${.ALLSRC}.patch; \
-           patch ${.TARGET} ${.ALLSRC}.patch; \
-       else \
-           echo ln -s ${.ALLSRC} ${.TARGET}; \
-           ln -s ${.ALLSRC} ${.TARGET}; \
-       fi
-.endif
-.if !target(_FBSDPATCH)
-_FBSDPATCH: .USE
-       cp ${.ALLSRC} ${.TARGET}; \
-       patch ${.TARGET} ${.ALLSRC}.patch
-.endif
+# This .for statement forces evaluation of ${_cwd}
+.for _cwd in ${CWD}
 
 .for _src in ${FBSDSRCS}
-${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+.ifmake autopatch
+${_cwd}/${_src:R}-fbsd.${_src:E}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-fbsd.${_src:E}
+.else # !autopatch
 SRCS+= ${_src}
+.endif # autopatch
 .endfor
 
 .for _src in ${FBSDMDSRCS}
-${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+.ifmake autopatch
+${_cwd}/${_src:R}-fbsd.${_src:E}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-fbsd.${_src:E}
+.else # !autopatch
 MDSRCS+= ${_src}
+.endif # autopatch
 .endfor
 
 .for _src in ${FBSDMISRCS}
-${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+.ifmake autopatch
+${_cwd}/${_src:R}-fbsd.${_src:E}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-fbsd.${_src:E}
+.else # !autopatch
 MISRCS+= ${_src}
+.endif # autopatch
 .endfor
 
-.for _src in ${FBSDORIGHDRS}
-${_src}: FreeBSD/${_src} _FBSDPATCH
-FBSDHDRS+= ${_src}
+# FBSDPATCHSRCS are for source that need patching, but don't build
+# in base variant (only in other variants)
+.ifmake autopatch
+.for _src in ${FBSDPATCHSRCS}
+${_cwd}/${_src:R}-fbsd.${_src:E}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-fbsd.${_src:E}
 .endfor
+.endif # autopatch
+
+.ifmake autopatch
+.for _src in ${FBSDHDRS}
+${_cwd}/${_src}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHHDRS+= ${_cwd}/${_src}
+.endfor
+.endif # autopatch
 
 .for _sect in ${FBSDSECTIONS}
 .for _src in ${FBSDMAN${_sect}}
-${_src}: FreeBSD/${_src} _FBSDPATCH
+.ifmake autopatch
+${_cwd}/${_src}: ${_cwd}/FreeBSD/${_src} _AUTOPATCH
+AUTOPATCHMAN+= ${_cwd}/${_src}
+.else # !autopatch
 MAN${_sect}+= ${_src}
-FBSDPATCHMAN+= ${_src}
+.endif # autopatch
 .endfor
 .endfor
+
+.endfor # _cwd