########################################################################## # 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) GENERATEDBMP = \ tile.bmp \ player.bmp \ wall2d.bmp TILEBMP = \ $(GENERATEDBMP) \ title.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) $(GENERATEDBMP) $(DELETE) $(TILEPNG) $(DELETE) $(HEADERS)