summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/rltiles/makefile.unix
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/rltiles/makefile.unix')
-rw-r--r--crawl-ref/source/rltiles/makefile.unix147
1 files changed, 32 insertions, 115 deletions
diff --git a/crawl-ref/source/rltiles/makefile.unix b/crawl-ref/source/rltiles/makefile.unix
index 33d3a6b6e2..a6bff9643e 100644
--- a/crawl-ref/source/rltiles/makefile.unix
+++ b/crawl-ref/source/rltiles/makefile.unix
@@ -1,128 +1,45 @@
-##########################################################################
-# makefile.unix
-#
-# 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
-B2PTOOL = $(B2PSRC)$(B2P)
+SDL_CFLAGS := $(shell sdl-config --cflags)
+SDL_LDFLAGS := $(shell sdl-config --libs)
-CC = cc
-DELETE = rm -f
-
-OBJECTS = \
-$(SRC)bm.o \
-$(SRC)dcpl.o \
-$(SRC)dctile.o
-
-TOOLS = \
-dcpl \
-dctile
-
-EXTRATOOLS = \
-dcreverse
-
-HEADERS = \
-tiledef.h \
-tiledef-p.h \
-tilep-cmt.h \
-tiledef-dngn.h \
-tilecount-dngn.h \
-map.htm
-
-ALLTOOLS = $(TOOLS) $(EXTRATOOLS)
-
-GENERATEDBMP = \
-tile.bmp \
-player.bmp \
-dngn.bmp
-
-TILEBMP = \
-$(GENERATEDBMP) \
-title.bmp
-
-TILEPNG = $(TILEBMP:.bmp=.png)
-
-##########################################################################
-# Top-level
-#
-
-all: tools tiles
-
-tools: $(TOOLS)
+ifeq ($(strip $(OSX)),y)
+PNG_INCLUDE := -I/sw/include
+PNG_LIB := -L/sw/lib
+else
+PNG_INCLUDE :=
+PNG_LIB :=
+endif
-tiles: $(TILEBMP) $(TILEPNG)
+CFLAGS := $(SDL_CFLAGS) $(PNG_INCLUDE)
+LDFLAGS := $(SDL_LDFLAGS) $(PNGLIB) -lSDL_Image -lpng
-##########################################################################
-# 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.
-# Not that I'm bitter.
-#
-
-depend: $(OBJECTS:.o=.c)
- @for i in $^; do \
- $(CC) -c $$i
-
-dcpl: $(SRC)dcpl.o $(SRC)bm.o
- $(CC) $(SRC)dcpl.o $(SRC)bm.o -o dcpl
-
-dctile: $(SRC)dctile.o $(SRC)bm.o
- $(CC) $(SRC)dctile.o $(SRC)bm.o -o dctile
-
-dcreverse: $(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.
-
-dngn.bmp: dngn.txt dctile
- ./dctile dngn.txt
-
-tile.bmp: dc-2d.txt dctile
- ./dctile dc-2d.txt
-
-player.bmp: dc-pl.txt dcpl
- ./dcpl dc-pl.txt
+CXX = g++
+DELETE = rm -f
-wall2d.bmp: dc-wall2d.txt dctile
- ./dctile dc-wall2d.txt
+TOOLDIR := tool
+TILEGEN := $(TOOLDIR)/tilegen.elf
-##########################################################################
-# PNG Conversion
-#
+INPUTS := main dngn player demon
+INPUTFILES := $(INPUTS:%=dc-%.txt)
+HEADERS := $(INPUTS:%=tiledef-%.h)
+SOURCE := $(INPUTS:%=tiledef-%.cc)
+IMAGES := $(INPUTS:%=%.png)
-$(B2PTOOL):
- cd $(B2PSRC) && make -f makefile.lin $(B2P) && cd ..
+BASE_OBJECTS := tile_colour.o tile.o tile_page.o tile_list_processor.o main.o
+OBJECTS := $(BASE_OBJECTS:%=$(TOOLDIR)/%)
-%.png: %.bmp $(B2PTOOL)
- $(DELETE) $@
- $(B2PTOOL) -Q $<
+all: $(TILEGEN) $(HEADERS) $(SOURCE) $(IMAGES)
-##########################################################################
-# Cleaning...
-#
+tiledef-%.h tiledef-%.cc %.png: dc-%.txt $(TILEGEN)
+ $(TILEGEN) $<
clean:
- $(DELETE) $(OBJECTS)
- $(DELETE) $(ALLTOOLS)
- cd $(B2PSRC) && make -f makefile.lin clean && cd ..
+ $(DELETE) $(HEADERS) $(OBJECTS) $(TILEGEN) $(SOURCE) $(IMAGES)
distclean: clean
- $(DELETE) $(GENERATEDBMP)
- $(DELETE) $(TILEPNG)
- $(DELETE) $(HEADERS)
+
+.cc.o:
+ ${CXX} ${CFLAGS} -c $< -o $@
+
+$(TILEGEN): $(OBJECTS)
+ ${CXX} ${LDFLAGS} $(OBJECTS) -o $@