]> Cypherpunks repositories - gostls13.git/commitdiff
make Makefiles safe for parallel make
authorRuss Cox <rsc@golang.org>
Thu, 18 Sep 2008 22:06:43 +0000 (15:06 -0700)
committerRuss Cox <rsc@golang.org>
Thu, 18 Sep 2008 22:06:43 +0000 (15:06 -0700)
use -j4 (4-way parallel) in make.bash.

halves time for make.bash on r45

also add libregexp, acid to default build

R=r
DELTA=90  (39 added, 37 deleted, 14 changed)
OCL=15485
CL=15487

15 files changed:
src/clean.bash
src/cmd/6a/Makefile
src/cmd/cc/Makefile
src/cmd/clean.bash
src/cmd/gc/Makefile
src/cmd/make.bash
src/lib/make.bash
src/lib/math/Makefile
src/lib/math/make.bash
src/lib/net/Makefile
src/lib/os/Makefile
src/lib/time/Makefile
src/make.bash
src/pkg/make.bash
src/syscall/Makefile

index dd727ac608c8da150de41e4b506b577681f88dfe..cba2129cfa7525edc37be7c324908396f98d0062 100755 (executable)
@@ -3,7 +3,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-for i in lib9 libbio libmach_amd64 syscall
+for i in lib9 libbio libmach_amd64 libregexp syscall
 do
        cd $i
        make clean
index be34e99d368ef95938224a1cfdc023fa9c4e5ffd..d4bfd210cb8687e5399d2c889362d30be74a1c6c 100644 (file)
@@ -29,9 +29,12 @@ $(OFILES): $(HFILES)
 
 lex.$O:        ../cc/macbody ../cc/lexbody
 
-y.tab.c: $(YFILES)
+y.tab.h: $(YFILES)
        yacc $(YFLAGS) $(YFILES)
 
+y.tab.c: y.tab.h
+       # do nothing
+
 clean:
        rm -f $(OFILES) $(TARG) *.6 enam.c 6.out a.out y.tab.h y.tab.c
 
index 5d21241c430cbf3d64d5866dbb5c1368018005e2..4247a8b971fe6a6c15d8ea9ad8ed7ce06035cb9c 100644 (file)
@@ -38,9 +38,12 @@ $(LIB): $(OFILES)
 
 $(OFILES): $(HFILES)
 
-y.tab.c: $(YFILES)
+y.tab.h: $(YFILES)
        yacc $(YFLAGS) $(YFILES)
 
+y.tab.c: y.tab.h
+       # do nothing
+
 clean:
        rm -f $(OFILES) *.6 enam.c 6.out a.out y.tab.h y.tab.c $(LIB)
 
index e516e872caa055b11b4ca63e85dd1beeea5bc37f..3537b835c14cdae70c04c96fe144ea9411cf54ef 100644 (file)
@@ -3,7 +3,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
-for i in 6l 6a 6c 6g gc cc ar db
+for i in 6l 6a 6c 6g gc cc ar db nm acid
 do
        cd $i
        make clean
index 9c3f2e977e9b76fd63e0ac5193e9fc5697dff442..4a7445a91d17795c58aa0cc18f8db2c66fd833fd 100644 (file)
@@ -33,9 +33,12 @@ $(LIB): $(OFILES)
 
 $(OFILES): $(HFILES)
 
-y.tab.c: $(YFILES)
+y.tab.h: $(YFILES)
        yacc $(YFLAGS) $(YFILES)
 
+y.tab.c: y.tab.h
+       # do nothing
+
 sysimport.c:   sys.go mksys.bash
        bash mksys.bash
 
index 84332440d0edfab61e4ec3f517d292ead64938df..be8df76001da0a5ba6866c6457c807bdc7efa3a7 100644 (file)
@@ -3,6 +3,7 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
+set -e
 
 bash clean.bash
 
@@ -11,47 +12,10 @@ bash mkenam
 make enam.o
 cd ..
 
-echo; echo; echo %%%% making cc %%%%; echo
-cd cc
-make install
-cd ..
-
-echo; echo; echo %%%% making 6l %%%%; echo
-cd 6l
-make install
-cd ..
-
-echo; echo; echo %%%% making 6a %%%%; echo
-cd 6a
-make install
-cd ..
-
-echo; echo; echo %%%% making 6c %%%%; echo
-cd 6c
-make install
-cd ..
-
-echo; echo; echo %%%% making gc %%%%; echo
-cd gc
-make install
-cd ..
-
-echo; echo; echo %%%% making 6g %%%%; echo
-cd 6g
-make install
-cd ..
-
-echo; echo; echo %%%% making ar %%%%; echo
-cd ar
-make install
-cd ..
-
-echo; echo; echo %%%% making db %%%%; echo
-cd db
-make install
-cd ..
-
-echo; echo; echo %%%% making nm %%%%; echo
-cd nm
-make install
-cd ..
+for i in cc 6l 6a 6c gc 6g ar db nm acid
+do
+       echo; echo; echo %%%% making $i %%%%; echo
+       cd $i
+       make install
+       cd ..
+done
index 6537f016470f38321a6e380d889b393564e2b2e0..5714954fa86b246fab96394bad60d909252db55d 100755 (executable)
@@ -4,6 +4,8 @@
 
 #!/bin/bash
 
+set -e
+
 echo; echo; echo %%%% making lib %%%%; echo
 
 for i in os math
index f1f24263c11d0d43c070e487933634d190749d19..f66cc4161dd943f57b87788cc09677c987b3318b 100644 (file)
@@ -37,6 +37,11 @@ a3: $(O3)
 a4: $(O4)
        $(O)ar grc $(PKG) $(O4)
 
+$(O1): nuke
+$(O2): a1
+$(O3): a2
+$(O4): a3
+
 nuke:
        rm -f *.$(O) *.a $(PKG)
 
index cdc9a92682c3d9f49e9eafa38c8f3ddda3787ae5..66062b3fa6ae1033f107f8f18eeabe0a650c9730 100644 (file)
@@ -4,6 +4,8 @@
 
 #!/bin/bash
 
+set -e
+
 make install
 
 # old way: bash g1 && cp math.a $GOROOT/pkg/math.a
index 5d0802173f5bc48dd665015708dc221a8febe4a2..4788e84e12a8cdac03197cb2773abba480f51655 100644 (file)
@@ -22,8 +22,11 @@ $(NET): $(NETO)
 
 $(NETO): $(IP) $(SOCKET)
 
+$(SOCKETO): $(IP)
+
 $(SOCKET): $(SOCKETO)
        $(O)ar grc $(SOCKET) $(SOCKETO)
+       rm $(SOCKETO)
 
 $(GOROOT)/pkg/%.$O: %.$O
        cp $*.$O $(GOROOT)/pkg/$*.$O
index 16b8030319cc2aa5286267c3448375104b59c3a7..130f62c86304e0150d1af54470d149fe54f6a3d7 100644 (file)
@@ -23,6 +23,9 @@ a1:   $(O1)
 a2:    $(O2)
        $(O)ar grc $(PKG) $(O2)
 
+$(O1): nuke
+$(O2): a1
+
 nuke:
        rm -f *.$(O) *.a $(PKG)
 
index f0a6f132e5d9ce472496448bc12b908a32bb42ec..d397be1f36b946cae53d9055bb42939d6ec47f20 100644 (file)
@@ -22,6 +22,9 @@ a1:   $(O1)
 a2:    $(O2)
        $(O)ar grc $(PKG) $(O2)
 
+$(O1): nuke
+$(O2): a1
+
 nuke:
        rm -f *.$(O) *.a $(PKG)
 
index 5eeb370a1b554c23d29f55c58d39def4a1ac7cb4..b36d515a8b5e3b68d7bf2925a90d83a490d6187b 100755 (executable)
@@ -3,9 +3,12 @@
 # Use of this source code is governed by a BSD-style
 # license that can be found in the LICENSE file.
 
+set -e
+export MAKEFLAGS=-j4
+
 bash clean.bash
 
-for i in lib9 libbio libmach_amd64
+for i in lib9 libbio libmach_amd64 libregexp
 do
        cd $i
        make install
index 71d6ccd021296f2bc3fb2b4f37d8413039776b56..3efc5a86c9c15a658f1e18bf3e773bc32b85dda3 100644 (file)
@@ -4,6 +4,8 @@
 
 #!/bin/bash
 
+set -e
+
 # clean
 rm -f *.6 6.out test_integer
 
index 6c30d0c3e433c28b9b82d942cadf6bd60f61a5fd..a34c96adf3ff078205ee73f8bd96388efa78df09 100644 (file)
@@ -32,6 +32,9 @@ a2:   $(O2)
        $(O)ar grc $(PKG) $(O2)
        rm *.6
 
+$(O1): nuke
+$(O2): a1
+
 nuke:
        rm -f *.$(O) *.a $(PKG)