summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/rltiles/makefile.mgw
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/rltiles/makefile.mgw')
-rw-r--r--crawl-ref/source/rltiles/makefile.mgw121
1 files changed, 121 insertions, 0 deletions
diff --git a/crawl-ref/source/rltiles/makefile.mgw b/crawl-ref/source/rltiles/makefile.mgw
new file mode 100644
index 0000000000..9d1c86be79
--- /dev/null
+++ b/crawl-ref/source/rltiles/makefile.mgw
@@ -0,0 +1,121 @@
+##########################################################################
+# makefile.mgw
+#
+# This is a makefile to build all the rltiles files needed for Dungeon
+# Crawl - Stone Soup.
+#
+# - Enne (enne.walker@gmail.com)
+#
+
+SRC = tool
+B2PSRC = bmp2png
+B2P = bmp2png.exe
+B2PTOOL = $(B2PSRC)\$(B2P)
+
+CC = mingw32-gcc
+DELETE = del
+MAKE = mingw32-make.exe
+
+OBJECTS = \
+$(SRC)\bm.o \
+$(SRC)\dcpl.o \
+$(SRC)\dctile.o
+
+TOOLS = \
+dcpl.exe \
+dctile.exe
+
+EXTRATOOLS = \
+dcreverse.exe
+
+HEADERS = \
+tiledef.h \
+tiledef-p.h \
+tilep-cmt.h \
+tiledef-w2d.h \
+tilecount-w2d.h \
+map.htm
+
+ALLTOOLS = $(TOOLS) $(EXTRATOOLS)
+
+TILEBMP = \
+tile.bmp \
+player.bmp \
+wall2d.bmp
+
+TILEPNG = $(TILEBMP:.bmp=.png)
+
+##########################################################################
+# Top-level
+#
+
+all: tools tiles
+
+tools: $(TOOLS)
+
+tiles: $(TILEBMP)
+
+##########################################################################
+# Tools
+#
+# Note: dcreverse is not built by default. It does the opposite
+# of dctile. It takes a bitmap with lots of tiles, specifies regions,
+# and cuts them out into smaller pieces. It's useful only for when somebody
+# updates the tiles directly and then doesn't give you the source files.
+#
+
+depend: $(OBJECTS:.o=.c)
+ @for i in $^; do \
+ $(CC) -c $$i
+
+dcpl.exe: $(SRC)\dcpl.o $(SRC)\bm.o
+ $(CC) $(SRC)\dcpl.o $(SRC)\bm.o -o dcpl
+
+dctile.exe: $(SRC)\dctile.o $(SRC)\bm.o
+ $(CC) $(SRC)\dctile.o $(SRC)\bm.o -o dctile
+
+dcreverse.exe: $(SRC)\dcreverse.o $(SRC)\bm.o
+ $(CC) $(SRC)\dcreverse.o $(SRC)\bm.o -o dcreverse
+
+##########################################################################
+# Bitmaps
+#
+
+# NOTE: the dependencies here aren't fantastic. In an ideal world,
+# there would be another tool elf that could read an input text file
+# and then output the .bmp and .txt dependencies for it. It's kind
+# of a low priority though, as tiles will be rebuilt infrequently.
+
+tile.bmp: dc-2d.txt dctile.exe
+ ./dctile dc-2d.txt
+
+player.bmp: dc-pl.txt dcpl.exe
+ ./dcpl dc-pl.txt
+
+wall2d.bmp: dc-wall2d.txt dctile.exe
+ ./dctile dc-wall2d.txt
+
+##########################################################################
+# PNG Conversion
+#
+
+$(B2PTOOL):
+ pushd $(B2PSRC) && $(MAKE) -f makefile.mgw $(B2P) && popd
+
+%.png: %.bmp $(B2PTOOL)
+ $(DELETE) $@
+ $(B2PTOOL) -Q $<
+
+##########################################################################
+# Cleaning...
+#
+
+clean:
+ $(DELETE) $(OBJECTS)
+ $(DELETE) $(ALLTOOLS)
+#pushd $(B2PSRC) && $(MAKE) -f makefile.mgw clean && popd
+
+distclean: clean
+ $(DELETE) $(TILEBMP)
+ $(DELETE) $(TILEPNG)
+ $(DELETE) $(HEADERS)