[RFC] Replicate src dir in build dir

Yao Qi qiyaoltc@gmail.com
Wed Sep 20 08:04:00 GMT 2017


Simon Marchi <simon.marchi@polymtl.ca> writes:

> I'm always a bit uncomfortable with putting some rm -rf commands in
> scripts, if we can avoid it.  Can we replace that with rmdir, since
> the clean target should have emptied that directory just before?
>
> Also I wouldn't silence the commands (the @), it's always good to be
> able to read what's being executed.
>

OK, I'll change to rmdir and remove @.

>>
>>  maintainer-clean: local-maintainer-clean do-maintainer-clean distclean
>>  realclean: maintainer-clean
>> @@ -2941,9 +2949,9 @@ ifeq ($(DEPMODE),depmode=gcc3)
>>  # into place if the compile succeeds.  We need this because gcc does
>>  # not atomically write the dependency output file.
>>  override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
>> -	-MF $(DEPDIR)/$(basename $(@F)).Tpo
>> -override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
>> -	$(DEPDIR)/$(basename $(@F)).Po
>> +	-MF $(@D)/$(DEPDIR)/$(@F).Tpo
>> +override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(@F).Tpo \
>> +	$(@D)/$(DEPDIR)/$(@F).Po
>>  else
>>  override COMPILE.pre = source='$<' object='$@' libtool=no \
>>  	DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
>
> I have never tested it, but I assume the "depcomp" mode of dependency
> management will have to be updated too.

I don't understand this comment.  The only change in on dependency
tracking is that .Po file is moved to a new place (.deps/amd64.Po ->
./arch/.deps/amd64.o.Po).  The file contents don't change.

$ diff -u .deps/amd64.Po ./arch/.deps/amd64.o.Po 
--- .deps/amd64.Po	2017-09-20 07:57:04.903381133 +0000
+++ ./arch/.deps/amd64.o.Po	2017-09-20 07:40:35.995718460 +0000
@@ -1,4 +1,4 @@
-amd64.o: ../../binutils-gdb/gdb/arch/amd64.c \
+arch/amd64.o: ../../binutils-gdb/gdb/arch/amd64.c \
  ../../binutils-gdb/gdb/arch/amd64.h ../../binutils-gdb/gdb/arch/tdesc.h \
  build-gnulib/import/stdint.h ../../binutils-gdb/gdb/common/x86-xstate.h \
  build-gnulib/import/stdlib.h \

-- 
Yao (齐尧)



More information about the Gdb-patches mailing list