OBSDSECTIONS= 1 2 3 4 5 6 7 8 9
+# This .for statement forces evaluation of ${CWD}
+.for _cwd in ${CWD}
+
.for _src in ${OBSDSRCS}
.ifmake autopatch
-${_src:R}-obsd.${_src:E}: OpenBSD/${_src} _AUTOPATCHCUR
-AUTOPATCHSRCS+= ${_src:R}-obsd.${_src:E}
+${_cwd}/${_src:R}-obsd.${_src:E}: ${_cwd}/OpenBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-obsd.${_src:E}
.else # !autopatch
SRCS+= ${_src}
.endif # autopatch
.for _src in ${OBSDMDSRCS}
.ifmake autopatch
-${_src:R}-obsd.${_src:E}: OpenBSD/${_src} _AUTOPATCHCUR
-AUTOPATCHSRCS+= ${_src:R}-obsd.${_src:E}
+${_cwd}/${_src:R}-obsd.${_src:E}: ${_cwd}/OpenBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-obsd.${_src:E}
.else # !autopatch
MDSRCS+= ${_src}
.endif # autopatch
.for _src in ${OBSDMISRCS}
.ifmake autopatch
-${_src:R}-obsd.${_src:E}: OpenBSD/${_src} _AUTOPATCHCUR
-AUTOPATCHSRCS+= ${_src:R}-obsd.${_src:E}
+${_cwd}/${_src:R}-obsd.${_src:E}: ${_cwd}/OpenBSD/${_src} _AUTOPATCH
+AUTOPATCHSRCS+= ${_cwd}/${_src:R}-obsd.${_src:E}
.else # !autopatch
MISRCS+= ${_src}
.endif # autopatch
.ifmake autopatch
.for _src in ${OBSDHDRS}
-${_src}: OpenBSD/${_src} _AUTOPATCHCUR
-AUTOPATCHHDRS+= ${_src}
+${_cwd}/${_src}: ${_cwd}/OpenBSD/${_src} _AUTOPATCH
+AUTOPATCHHDRS+= ${_cwd}/${_src}
.endfor
.endif # autopatch
.for _sect in ${OBSDSECTIONS}
.for _src in ${OBSDMAN${_sect}}
.ifmake autopatch
-${_src}: OpenBSD/${_src} _AUTOPATCH
-AUTOPATCHMAN+= ${_src}
+${_cwd}/${_src}: ${_cwd}/OpenBSD/${_src} _AUTOPATCH
+AUTOPATCHMAN+= ${_cwd}/${_src}
.else # !autopatch
MAN${_sect}+= ${_src}
.endif # autopatch
.endfor
.endfor
+
+.endfor # _cwd