diff options
author | Russ Cox <rsc@golang.org> | 2008-12-11 11:58:45 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2008-12-11 11:58:45 -0800 |
commit | cfa051116c97dc97e02fcdde9887c2e455dead81 (patch) | |
tree | 58464272e062e4a0ef6aa21549852729f0fd083d /src | |
parent | 9c2059bbde7a2469d822b3fbc021c2694815754f (diff) | |
download | golang-cfa051116c97dc97e02fcdde9887c2e455dead81.tar.gz |
fix race with fresh perforce checkouts
R=r
DELTA=15 (9 added, 0 deleted, 6 changed)
OCL=20977
CL=20981
Diffstat (limited to 'src')
-rw-r--r-- | src/cmd/gc/Makefile | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/cmd/gc/Makefile b/src/cmd/gc/Makefile index 744460bd8..10afbc5d9 100644 --- a/src/cmd/gc/Makefile +++ b/src/cmd/gc/Makefile @@ -39,13 +39,22 @@ y.tab.h: $(YFILES) y.tab.c: y.tab.h test -f y.tab.c && touch y.tab.c +# the test here checks whether we have 6g at all. +# if so, use it. if not, just use the sysimport.c we have. +# this happens on fresh perforce checkouts where +# sysimport.c ends up with an older time stamp +# than sys.go (or unsafe.go or mksys.c). sysimport.c: sys.go unsafe.go mksys.c - gcc -o mksys mksys.c - 6g sys.go - 6g unsafe.go - ./mksys sys >_sysimport.c &&\ - ./mksys unsafe >>_sysimport.c &&\ - mv _sysimport.c sysimport.c + if test -x $(BIN)/6g; then \ + gcc -o mksys mksys.c; \ + 6g sys.go; \ + 6g unsafe.go; \ + ./mksys sys >_sysimport.c && \ + ./mksys unsafe >>_sysimport.c && \ + mv _sysimport.c sysimport.c; \ + elif test -f sysimport.c; then \ + touch sysimport.c; \ + fi clean: rm -f $(OFILES) *.6 enam.c 6.out a.out y.tab.h y.tab.c $(LIB) _sysimport.c |