]> git.saurik.com Git - apple/libc.git/blobdiff - Makefile.fbsd_end
Libc-320.tar.gz
[apple/libc.git] / Makefile.fbsd_end
diff --git a/Makefile.fbsd_end b/Makefile.fbsd_end
new file mode 100644 (file)
index 0000000..835bd0d
--- /dev/null
@@ -0,0 +1,59 @@
+# For the FreeBSD auto patching mechanism and compatibility environment
+# setup, original FreeBSD sources a put into a FreeBSD subdirectory.
+# If a file with the same name, but suffix ".patch" is in that directory,
+# that patch will be applied before use.
+#
+# The FBSDMDSRCS, FBSDMISRCS, FBSDORIGHDRS and FBSDSRCS variables must be set,
+# and bracketed by .include of Makefile.fbsd_begin and Makefile.fbsd_end
+#
+# Set up dependencies between the FreeBSD source (in a FreeBSD subdirectory)
+# and a file with a -fbsd.x suffix (where x is 'c' or 's').  The suffix
+# rules will then compile the file with the simulate FreeBSD environment.
+
+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
+
+.for _src in ${FBSDSRCS}
+${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+SRCS+= ${_src}
+.endfor
+
+.for _src in ${FBSDMDSRCS}
+${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+MDSRCS+= ${_src}
+.endfor
+
+.for _src in ${FBSDMISRCS}
+${_src:R}-fbsd.${_src:E}: FreeBSD/${_src} _FBSDPATCH
+MISRCS+= ${_src}
+.endfor
+
+.for _src in ${FBSDORIGHDRS}
+${_src}: FreeBSD/${_src} _FBSDPATCH
+FBSDHDRS+= ${_src}
+.endfor
+
+.for _sect in ${FBSDSECTIONS}
+.for _src in ${FBSDMAN${_sect}}
+${_src}: FreeBSD/${_src} _FBSDPATCH
+MAN${_sect}+= ${_src}
+FBSDPATCHMAN+= ${_src}
+.endfor
+.endfor