]> Cypherpunks repositories - gostls13.git/commitdiff
fix race with fresh perforce checkouts
authorRuss Cox <rsc@golang.org>
Thu, 11 Dec 2008 19:58:45 +0000 (11:58 -0800)
committerRuss Cox <rsc@golang.org>
Thu, 11 Dec 2008 19:58:45 +0000 (11:58 -0800)
R=r
DELTA=15  (9 added, 0 deleted, 6 changed)
OCL=20977
CL=20981

src/cmd/gc/Makefile

index 744460bd8a33dd7ec751c1f8f2b470e8d1febd84..10afbc5d9774a07cfa5c1cce01fc71abc34d8e15 100644 (file)
@@ -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