help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Trying to get rid of one redundand rule


From: Alexander.Farber
Subject: RE: Trying to get rid of one redundand rule
Date: Wed, 15 Jun 2005 11:04:33 +0200

Good morning,

yes, the funny thing is that when I run "gmake" twice,
then the first invocation fails with

bolinux72:/home/afarber/src/rcomp-SymbianOS-9.2/group> gmake
mkdir -p ../build/
touch ../build/stamp
bison -d ../src/rcomp.y -o ../build/rcomp.cpp
g++296  -D __LINUX__ -I ../inc -I ../build -c ../src/main.cpp -o ../build/main.o

...........................skipped successfull compilations...................

g++296  -D __LINUX__ -I ../inc -I ../build -c rcompl.cpp -o ../build/rcompl.o
g++296: rcompl.cpp: No such file or directory
g++296: No input files
gmake: *** [../build/rcompl.o] Error 1

but the second gmake run succeeds:

bolinux72:/home/afarber/src/rcomp-SymbianOS-9.2/group> gmake
flex -t ../src/rcomp.l > ../build/rcompl.cpp
g++296  -D __LINUX__ -I ../inc -I ../build -c ../build/rcompl.cpp -o 
../build/rcompl.o
g++296  -D __LINUX__ -I ../inc -I ../build -c ../build/rcomp.cpp -o 
../build/rcomp.o
g++296 ../build/main.o ../build/array.o ../build/astring.o ../build/ccodes.o 
../build/ctable.o ../build/datatype.o ../build/errorhan.o ../build/fileacc.o 
../build/fileline.o ../build/indextab.o ../build/linklist.o ../build/mem.o 
../build/nameidma.o ../build/numval.o ../build/rcbinstr.o ../build/rcostrm.o 
../build/rcscan.o ../build/rcstack.o ../build/resource.o ../build/stack.o 
../build/stringar.o ../build/structst.o ../build/unicode_compressor.o 
../build/localise.o ../build/rcompl.o ../build/rcomp.o -o ../build/rcomp
../build/localise.o(.text+0xa86f): In function 
`GlobalLocalisationData::OutputLocalisedFile(String)':
: the use of `tmpnam' is dangerous, better use `mkstemp'
strip ../build/rcomp

I have modified the dir creation to your suggestion

__dummy := $(shell mkdir -p $(BLDDIR))

and now it works in one pass, thank you (but still looks 
strange to me, sorry. I don't understand what is wrong with

        $(OBJECTS): $(BLDDIR)/stamp

        $(BLDDIR)/stamp:
                mkdir -p $(dir $@)
                touch $@
 
and why would it break parallel builds.)

Regards
Alex 

> -----Original Message-----
> From: Paul Smith [mailto:address@hidden Behalf Of ext Paul D. Smith
> 
> I wonder if this isn't because the directory doesn't exist: have you
> tried running this when the $(BLDDIR)/stamp file is up to 
> date?  Or only when it needs to be created?

Attachment: Makefile
Description: Makefile


reply via email to

[Prev in Thread] Current Thread [Next in Thread]