parallel unix make bits

- Pat noticed that makedefs -z makes both vis_tab.[ch], but they could be
built by two makes via make -j, causing corruption
- make -j at top level failed for similar reasons, added several
dependencies to ensure a valid ordering
- these changes will cause extra things to be built if you "make"
individual targets at the top level, but have little effect it you're a
real power user and "make" the actual target in the right directory
This commit is contained in:
cohrs
2002-03-09 06:41:49 +00:00
parent d4d051af87
commit a35ca5e744
3 changed files with 18 additions and 16 deletions

View File

@@ -473,8 +473,8 @@ monstr.c: $(MAKEDEFS)
@( cd ../util ; $(MAKE) ../src/monstr.c )
../include/vis_tab.h: $(MAKEDEFS)
@( cd ../util ; $(MAKE) ../include/vis_tab.h )
vis_tab.c: $(MAKEDEFS)
@( cd ../util ; $(MAKE) ../src/vis_tab.c )
# makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
vis_tab.c: ../include/vis_tab.h
tile.c: ../win/share/tilemap.c $(HACK_H)
@( cd ../util ; $(MAKE) ../src/tile.c )

View File

@@ -90,42 +90,45 @@ $(GAME):
all: $(GAME) Guidebook $(VARDAT) dungeon spec_levs check-dlb
@echo "Done."
# Note: many of the dependencies below are here to allow parallel make
# to generate valid output
Guidebook:
( cd doc ; $(MAKE) Guidebook )
manpages:
( cd doc ; $(MAKE) manpages )
data:
data: $(GAME)
( cd dat ; $(MAKE) data )
rumors:
rumors: $(GAME)
( cd dat ; $(MAKE) rumors )
oracles:
oracles: $(GAME)
( cd dat ; $(MAKE) oracles )
# Note: options should have already been made with make, but...
options:
options: $(GAME)
( cd dat ; $(MAKE) options )
quest.dat:
quest.dat: $(GAME)
( cd dat ; $(MAKE) quest.dat )
spec_levs:
spec_levs: dungeon
( cd util ; $(MAKE) lev_comp )
( cd dat ; $(MAKE) spec_levs )
( cd dat ; $(MAKE) quest_levs )
dungeon:
dungeon: $(GAME)
( cd util ; $(MAKE) dgn_comp )
( cd dat ; $(MAKE) dungeon )
x11tiles:
x11tiles: $(GAME)
( cd util ; $(MAKE) tile2x11 )
( cd dat ; $(MAKE) x11tiles )
beostiles:
beostiles: $(GAME)
( cd util ; $(MAKE) tile2beos )
( cd dat ; $(MAKE) beostiles )
@@ -141,7 +144,7 @@ mapbg.xpm:
nhsplash.xpm:
( cd dat ; $(MAKE) nhsplash.xpm )
nh16.img:
nh16.img: $(GAME)
( cd util ; $(MAKE) tile2img.ttp )
( cd dat ; $(MAKE) nh16.img )
@@ -151,8 +154,7 @@ GEM_RSC.RSC:
title.img:
( cd dat ; $(MAKE) title.img )
check-dlb:
( cd dat; $(MAKE) options )
check-dlb: options
@if egrep -s librarian dat/options ; then $(MAKE) dlb ; else true ; fi
dlb:

View File

@@ -187,8 +187,8 @@ makedefs.o: makedefs.c $(CONFIG_H) ../include/permonst.h \
./makedefs -m
../include/vis_tab.h: makedefs
./makedefs -z
../src/vis_tab.c: makedefs
./makedefs -z
# makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first
../src/vis_tab.c: ../include/vis_tab.h
lintdefs:
@lint -axbh -I../include -DLINT $(MAKESRC) $(CMONOBJ) | sed '/_flsbuf/d'