svn commit: r298219 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Tue Apr 19 18:23:21 UTC 2016


On 4/19/2016 5:15 AM, Konstantin Belousov wrote:
> On Mon, Apr 18, 2016 at 06:14:02PM +0000, Bryan Drewery wrote:
>> Author: bdrewery
>> Date: Mon Apr 18 18:14:02 2016
>> New Revision: 298219
>> URL: https://svnweb.freebsd.org/changeset/base/298219
>>
>> Log:
>>   Cause an error during 'make install' if trying to compile with CC.
>>   
>>   This is limited to src-tree builds, meaning not extended to ports or other
>>   out-of-tree builds.
>>   
>>   This will help ensure that read-only OBJDIRS will be respected at install-time
>>   by causing a more consistent failure for those who don't use a read-only
>>   OBJDIR.  It also will cause Jenkins to yell.  This is a better solution than
>>   trying to see CC=false as has been attempted and discussed before.
>>   
>>   Of course this is only relevant for files generated by CC.
>>   
>>   Disable this for META_MODE since it will detect the CFLAGS/command
>>   change and force a rebuild.
>>   
>>   Sponsored by:	EMC / Isilon Storage Division
>>
>> Modified:
>>   head/share/mk/bsd.sys.mk
>>
>> Modified: head/share/mk/bsd.sys.mk
>> ==============================================================================
>> --- head/share/mk/bsd.sys.mk	Mon Apr 18 18:13:58 2016	(r298218)
>> +++ head/share/mk/bsd.sys.mk	Mon Apr 18 18:14:02 2016	(r298219)
>> @@ -178,6 +178,13 @@ ACFLAGS+=	${ACFLAGS.${.IMPSRC:T}}
>>  CFLAGS+=	${CFLAGS.${.IMPSRC:T}}
>>  CXXFLAGS+=	${CXXFLAGS.${.IMPSRC:T}}
>>  
>> +.if defined(SRCTOP)
>> +# Prevent rebuilding during install to support read-only objdirs.
>> +.if make(install) && empty(.MAKE.MODE:Mmeta)
>> +CFLAGS+=	ERROR-tried-to-rebuild-during-make-install
>> +.endif
>> +.endif
>> +
>>  # Tell bmake not to mistake standard targets for things to be searched for
>>  # or expect to ever be up-to-date.
>>  PHONY_NOTMAIN = analyze afterdepend afterinstall all beforedepend beforeinstall \
> 
> It seems to cause the following behaviour:
> make buildenv
> cd lib/libthr
> # make DEBUG_FLAGS=-g WITHOUT_TESTS=yes all install
> cc   -O2 -pipe   -DPTHREAD_KERNEL -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/../libc/include -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/thread  -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/../../include -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/arch/amd64/include -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/sys -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/../../libexec/rtld-elf -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/../../libexec/rtld-elf/amd64 -I/usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/../libthread_db -Winline -fexceptions -D_PTHREAD_FORCED_UNWIND -D_PTHREADS_INVARIANTS -mno-mmx -mno-sse -mno-avx -g -MD -MP -MF.depend.thr_init.o -MTthr_init.o -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef  -Qunused-arguments  ERROR-tried-to-rebuild-during-make-install -c /usr/home/kostik/work/build/bsd/DEV/src/lib/libthr/thread/thr_init.c -o thr_init.o
> cc: error: no such file or directory: 'ERROR-tried-to-rebuild-during-make-install'
> *** Error code 1
> 
> Stop.
> make[3]: stopped in /usr/home/kostik/work/build/bsd/DEV/src/lib/libthr
> 
> Doing separate steps for all and install targets work, but before, it also
> worked and was convenient to list sequential targets on the make command
> line.
> 

I'll address this soon.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20160419/8bf99a2f/attachment.sig>


More information about the svn-src-head mailing list