Module Name:    src
Committed By:   christos
Date:           Mon Nov  9 16:15:05 UTC 2020

Modified Files:
        src/share/mk: bsd.lib.mk bsd.prog.mk bsd.sys.mk sys.mk

Log Message:
- make the CTFCONVERT command lines consistent and concise by putting all
  the implementation stuff in a variable CTFCONVERT_RUN
- introduce an OBJECT_TARGET variable that contains the output object file
- when we need to run ctfconvert, go through an intermediate ${.TARGET}.o
  file, instead of writing directly to ${.TARGET} and then overwriting
  ${.TARGET} with ctfconvert. This avoids build failures after a build
  got interrupted (the "partially built from C" scourge).


To generate a diff of this commit:
cvs rdiff -u -r1.383 -r1.384 src/share/mk/bsd.lib.mk
cvs rdiff -u -r1.334 -r1.335 src/share/mk/bsd.prog.mk
cvs rdiff -u -r1.303 -r1.304 src/share/mk/bsd.sys.mk
cvs rdiff -u -r1.143 -r1.144 src/share/mk/sys.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/mk/bsd.lib.mk
diff -u src/share/mk/bsd.lib.mk:1.383 src/share/mk/bsd.lib.mk:1.384
--- src/share/mk/bsd.lib.mk:1.383	Mon Jun  1 10:39:14 2020
+++ src/share/mk/bsd.lib.mk	Mon Nov  9 11:15:05 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.lib.mk,v 1.383 2020/06/01 14:39:14 christos Exp $
+#	$NetBSD: bsd.lib.mk,v 1.384 2020/11/09 16:15:05 christos Exp $
 #	@(#)bsd.lib.mk	8.3 (Berkeley) 4/22/94
 
 .include <bsd.init.mk>
@@ -221,20 +221,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .c.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .c.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${PGFLAGS} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.c} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${PGFLAGS} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -277,20 +273,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .f.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.f} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.f} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPFOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .f.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.f} ${PROFFLAGS} ${PGFLAGS} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.f} ${PROFFLAGS} ${PGFLAGS} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPFOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -312,20 +304,16 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .m.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.m} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPOBJCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .m.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.m} ${PROFFLAGS} ${PGFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.m} ${PROFFLAGS} ${PGFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPOBJCOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
@@ -346,40 +334,32 @@ LIBSTRIPSHLIBOBJS=	yes
 
 .s.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .S.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .s.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.s} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif
 
 .S.po:
 	${_MKTARGET_COMPILE}
-	${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.S} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .if defined(LIBSTRIPAOBJS)
 	${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET}
 .endif

Index: src/share/mk/bsd.prog.mk
diff -u src/share/mk/bsd.prog.mk:1.334 src/share/mk/bsd.prog.mk:1.335
--- src/share/mk/bsd.prog.mk:1.334	Mon Nov  9 05:19:18 2020
+++ src/share/mk/bsd.prog.mk	Mon Nov  9 11:15:05 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.prog.mk,v 1.334 2020/11/09 10:19:18 martin Exp $
+#	$NetBSD: bsd.prog.mk,v 1.335 2020/11/09 16:15:05 christos Exp $
 #	@(#)bsd.prog.mk	8.2 (Berkeley) 4/2/94
 
 .ifndef HOSTPROG
@@ -39,19 +39,15 @@ CLEANFILES+= a.out [Ee]rrs mklog core *.
 CLEANFILES+=strings
 .c.o:
 	${CC} -E ${CPPFLAGS} ${CFLAGS} ${.IMPSRC} | xstr -c -
-	@${CC} ${CPPFLAGS} ${CFLAGS} -c x.c -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	@${CC} ${CPPFLAGS} ${CFLAGS} -c x.c ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 	@rm -f x.c
 
 .cc.o .cpp.o .cxx.o .C.o:
 	${CXX} -E ${CPPFLAGS} ${CXXFLAGS} ${.IMPSRC} | xstr -c -
 	@${MV} x.c x.cc
-	@${CXX} ${CPPFLAGS} ${CXXFLAGS} -c x.cc -o ${.TARGET}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	@${CXX} ${CPPFLAGS} ${CXXFLAGS} -c x.cc ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 	@rm -f x.cc
 .endif
 

Index: src/share/mk/bsd.sys.mk
diff -u src/share/mk/bsd.sys.mk:1.303 src/share/mk/bsd.sys.mk:1.304
--- src/share/mk/bsd.sys.mk:1.303	Sat Sep  5 09:38:43 2020
+++ src/share/mk/bsd.sys.mk	Mon Nov  9 11:15:05 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.sys.mk,v 1.303 2020/09/05 13:38:43 mrg Exp $
+#	$NetBSD: bsd.sys.mk,v 1.304 2020/11/09 16:15:05 christos Exp $
 #
 # Build definitions used for NetBSD source tree builds.
 
@@ -266,10 +266,8 @@ STRIP?=		strip
 # C
 .c.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 
 .c.ln:
 	${_MKTARGET_COMPILE}
@@ -288,10 +286,8 @@ STRIP?=		strip
 #  used for Objective C source)
 .m.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.m} ${OBJCOPTS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.m} ${OBJCOPTS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 
 # Host-compiled C objects
 # The intermediate step is necessary for Sun CC, which objects to calling
@@ -310,17 +306,13 @@ STRIP?=		strip
 # Assembly
 .s.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.s} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 
 .S.o:
 	${_MKTARGET_COMPILE}
-	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC}
-.if defined(CTFCONVERT)
-	${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
-.endif
+	${COMPILE.S} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 
 # Lex
 LFLAGS+=	${LPREFIX.${.IMPSRC:T}:D-P${LPREFIX.${.IMPSRC:T}}}

Index: src/share/mk/sys.mk
diff -u src/share/mk/sys.mk:1.143 src/share/mk/sys.mk:1.144
--- src/share/mk/sys.mk:1.143	Sat Feb  8 16:16:53 2020
+++ src/share/mk/sys.mk	Mon Nov  9 11:15:05 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: sys.mk,v 1.143 2020/02/08 21:16:53 maya Exp $
+#	$NetBSD: sys.mk,v 1.144 2020/11/09 16:15:05 christos Exp $
 #	@(#)sys.mk	8.2 (Berkeley) 3/21/94
 #
 # This file contains the basic rules for make(1) and is read first
@@ -47,6 +47,8 @@ LINK.c?=	${CC} ${CFLAGS} ${CPPFLAGS} ${L
 # C Type Format data is required for DTrace
 CTFFLAGS	?=	-g -L VERSION
 CTFMFLAGS	?=	-t -g -L VERSION
+OBJECT_TARGET	?= -o ${.TARGET}${defined(CTFCONVERT):?.o:}
+CTFCONVERT_RUN	?= ${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} -o ${.TARGET} ${.TARGET}.o && rm -f ${.TARGET}.o:}
 
 CXX?=		c++
 # Strip flags unsupported by C++ compilers
@@ -119,12 +121,12 @@ YACC.y?=	${YACC} ${YFLAGS}
 
 # C
 .c:
-	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+	${LINK.c} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
 # XXX: disable for now
-#	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+#	${CTFCONVERT_RUN}
 .c.o:
-	${COMPILE.c} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.c} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .c.a:
 	${COMPILE.c} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
@@ -136,9 +138,12 @@ YACC.y?=	${YACC} ${YFLAGS}
 
 # C++
 .cc .cpp .cxx .C:
-	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+	${LINK.cc} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+# XXX: disable for now
+#	${CTFCONVERT_RUN}
 .cc.o .cpp.o .cxx.o .C.o:
-	${COMPILE.cc} ${.IMPSRC}
+	${COMPILE.cc} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .cc.a .cpp.a .cxx.a .C.a:
 	${COMPILE.cc} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
@@ -146,31 +151,33 @@ YACC.y?=	${YACC} ${YFLAGS}
 
 # Fortran/Ratfor
 .f:
-	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+	${LINK.f} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .f.o:
-	${COMPILE.f} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.f} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .f.a:
 	${COMPILE.f} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
 	rm -f ${.PREFIX}.o
 
 .F:
-	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${LINK.F} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .F.o:
-	${COMPILE.F} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.F} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .F.a:
 	${COMPILE.F} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
 	rm -f ${.PREFIX}.o
 
 .r:
-	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+	${LINK.r} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .r.o:
-	${COMPILE.r} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.r} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .r.a:
 	${COMPILE.r} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
@@ -178,11 +185,11 @@ YACC.y?=	${YACC} ${YFLAGS}
 
 # Pascal
 .p:
-	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${LINK.p} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .p.o:
-	${COMPILE.p} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.p} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .p.a:
 	${COMPILE.p} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
@@ -190,21 +197,21 @@ YACC.y?=	${YACC} ${YFLAGS}
 
 # Assembly
 .s:
-	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${LINK.s} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .s.o:
-	${COMPILE.s} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.s} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .s.a:
 	${COMPILE.s} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
 	rm -f ${.PREFIX}.o
 .S:
-	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${LINK.S} ${OBJECT_TARGET} ${.IMPSRC} ${LDLIBS}
+	${CTFCONVERT_RUN}
 .S.o:
-	${COMPILE.S} ${.IMPSRC}
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.S} ${.IMPSRC} ${OBJECT_TARGET}
+	${CTFCONVERT_RUN}
 .S.a:
 	${COMPILE.S} ${.IMPSRC}
 	${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
@@ -213,29 +220,31 @@ YACC.y?=	${YACC} ${YFLAGS}
 # Lex
 .l:
 	${LEX.l} ${.IMPSRC}
-	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
+	${LINK.c} ${OBJECT_TARGET} lex.yy.c ${LDLIBS} -ll
+	${CTFCONVERT_RUN}
 	rm -f lex.yy.c
 .l.c:
 	${LEX.l} ${.IMPSRC}
 	${MV} lex.yy.c ${.TARGET}
 .l.o:
 	${LEX.l} ${.IMPSRC}
-	${COMPILE.c} -o ${.TARGET} lex.yy.c
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.c} ${OBJECT_TARGET} lex.yy.c
+	${CTFCONVERT_RUN}
 	rm -f lex.yy.c
 
 # Yacc
 .y:
 	${YACC.y} ${.IMPSRC}
-	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
+	${LINK.c} ${OBJECT_TARGET} y.tab.c ${LDLIBS}
+	${CTFCONVERT_RUN}
 	rm -f y.tab.c
 .y.c:
 	${YACC.y} ${.IMPSRC}
 	${MV} y.tab.c ${.TARGET}
 .y.o:
 	${YACC.y} ${.IMPSRC}
-	${COMPILE.c} -o ${.TARGET} y.tab.c
-	${defined(CTFCONVERT):?${CTFCONVERT} ${CTFFLAGS} ${.TARGET}:}
+	${COMPILE.c} ${OBJECT_TARGET} y.tab.c
+	${CTFCONVERT_RUN}
 	rm -f y.tab.c
 
 # Shell

Reply via email to