Module Name:    src
Committed By:   dsl
Date:           Tue Aug 11 17:29:05 UTC 2009

Modified Files:
        src/lib/libc: Makefile

Log Message:
Change (slightly) the way NO_SRCS is processed, update big comment!
Now the .c file is removed from SRCS for both .S and .c in NO_SRSC.
The .c file is added to LSRCS for .S files in NO_SRCS.
(.S files in SRCS have the same treatment - but also get compiled.)
Allows vax build to be fixed.
Also the previous version failed to add to LSRCS correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.137 -r1.138 src/lib/libc/Makefile

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

Modified files:

Index: src/lib/libc/Makefile
diff -u src/lib/libc/Makefile:1.137 src/lib/libc/Makefile:1.138
--- src/lib/libc/Makefile:1.137	Thu Jul 30 20:57:15 2009
+++ src/lib/libc/Makefile	Tue Aug 11 17:29:04 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.137 2009/07/30 20:57:15 dsl Exp $
+#	$NetBSD: Makefile,v 1.138 2009/08/11 17:29:04 dsl Exp $
 #	@(#)Makefile	8.2 (Berkeley) 2/3/94
 #
 # All library objects contain sccsid strings by default; they may be
@@ -91,20 +91,26 @@
 .include "${.CURDIR}/yp/Makefile.inc"
 .endif
 
-# Remove from SRCS the .c files for any .S files added by the MD makefiles.
-# Any files added to NO_SRCS will also not be compiled
-# (eg because another file generates the same entry point)
-# Use the .c file to generate the lint library, but don't add to DPSRCS
-# (since it would overwrite the .d file containing the foo.o: foo.S rules).
-.for asm_file in ${SRCS:M*.S} ${NO_SRCS}
-unwanted_file := ${SRCS:M${asm_file:.S=.c}}
+# Remove from SRCS the .c files for any .S files added by the MD makefiles,
+# also remove from SRCS the .c files for the .S and .c files in NO_SRCS.
+# Add the .c file for .S files (in both variables) to LSRCS so that the
+# 'normal' .c file for assembly files is used for the lint librray.
+#
+# Usage:
+# Add .S files to NO_SRSC when another .S file provides the entry points.
+# Add .c files to NO_SRSC when another .c file provides the entry points.
+# (lint is run on all .c files in SRCS)
+
+.for check_file in ${SRCS:M*.S} ${NO_SRCS}
+unwanted_file := ${SRCS:M${check_file:.S=.c}}
 .if "${unwanted_file}" != ""
 SRCS := ${SRCS:N${unwanted_file}}
-LSRCS += ${unwanted_file}
+.if "${unwanted_file}" != "${check_file}"
+LSRCS := ${LSRCS} ${unwanted_file}
+.endif
 .endif
 .endfor
 
-
 NLS=	C.msg Pig.msg ca.msg cs.msg de.msg es.msg fi.msg fr.msg nl.msg \
 	no.msg pl.msg sk.msg sv.msg
 

Reply via email to