summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/makefile_tiles.mgw20
-rw-r--r--crawl-ref/source/makefile_tiles.unix17
2 files changed, 28 insertions, 9 deletions
diff --git a/crawl-ref/source/makefile_tiles.mgw b/crawl-ref/source/makefile_tiles.mgw
index 0de1ed8843..fe86288b3a 100644
--- a/crawl-ref/source/makefile_tiles.mgw
+++ b/crawl-ref/source/makefile_tiles.mgw
@@ -47,10 +47,14 @@ PCRELIBA := lib$(PCRELIB).a
RLTILES = rltiles
EXTRA_INCLUDES += -I$(RLTILES)
-OBJECTS += \
- $(RLTILES)/tiledef-dngn.o \
- $(RLTILES)/tiledef-main.o \
- $(RLTILES)/tiledef-player.o
+
+TILEDEFS = dngn main player
+TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
+TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
+TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
+TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
+
+OBJECTS += $(TILEDEFOBJS)
TILEFILES = \
main.png \
@@ -152,6 +156,10 @@ makerltiles:
pushd $(RLTILES) && $(MAKE) -f makefile.mgw all
mkdir $(OPATH)\rltiles 2>nul || echo.>nul
+$(TILEDEFSRCS): makerltiles
+
+$(TILEDEFHDRS): makerltiles
+
$(ORIGTILEFILES): makerltiles
dat/tiles/%.png: rltiles/%.png
@@ -238,10 +246,10 @@ debug: $(GAME_DEPENDS)
profile: $(GAME_DEPENDS)
${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(APPNAME) $(LIB)
-$(OPATH)/%.o: %.cc
+$(OPATH)/%.o: %.cc $(TILEDEFHDRS)
${CXX} ${CFLAGS} -o $@ -c $<
-$(OPATH)/%.o: $(UTIL)%.cc
+$(OPATH)/%.o: $(UTIL)%.cc $(TILEDEFHDRS)
$(CXX) $(YCFLAGS) -o $@ -c $<
#############################################################################
diff --git a/crawl-ref/source/makefile_tiles.unix b/crawl-ref/source/makefile_tiles.unix
index 8484dd8558..f364506d7b 100644
--- a/crawl-ref/source/makefile_tiles.unix
+++ b/crawl-ref/source/makefile_tiles.unix
@@ -104,7 +104,14 @@ endif
RLTILES = rltiles
EXTRA_INCLUDES += -I$(RLTILES)
-OBJECTS += $(RLTILES)/tiledef-dngn.o $(RLTILES)/tiledef-main.o $(RLTILES)/tiledef-player.o
+
+TILEDEFS = dngn main player
+TILEDEFPRES = $(TILEDEFS:%=$(RLTILES)/tiledef-%)
+TILEDEFOBJS = $(TILEDEFPRES:%=%.o)
+TILEDEFSRCS = $(TILEDEFPRES:%=%.cc)
+TILEDEFHDRS = $(TILEDEFPRES:%=%.h)
+
+OBJECTS += $(TILEDEFOBJS)
TILEFILES = \
main.png \
@@ -226,6 +233,10 @@ ORIGTILEFILES = $(TILEFILES:%=$(RLTILES)/%)
makerltiles:
cd $(RLTILES) && make -f makefile.unix all
+$(TILEDEFSRCS): makerltiles
+
+$(TILEDEFHDRS): makerltiles
+
$(ORIGTILEFILES): makerltiles
dat/tiles/%.png: $(RLTILES)/%.png
@@ -305,13 +316,13 @@ debug: $(GAME_DEPENDS)
profile: $(GAME_DEPENDS)
${CXX} -g -p ${LDFLAGS} $(CFLAGS) $(OBJECTS) -o $(GAME) $(LIB)
-.cc.o:
+%.o: %.cc $(TILEDEFHDRS)
${CXX} ${CFLAGS} -c $< -o $@
# [ds] Note we don't use the standard CFLAGS here; that's intentional, most
# flex/bison combos I've tried don't produce code that passes the warnings
# test.
-$(UTIL)%.o: $(UTIL)%.cc
+$(UTIL)%.o: $(UTIL)%.cc $(TILEDEFHDRS)
$(CXX) $(YCFLAGS) -o $@ -c $<
#############################################################################