summaryrefslogblamecommitdiffstats
path: root/crawl-ref/source/rltiles/makefile.unix
blob: 04c3900e1bd3a355fbc43da70c47db8e1104815b (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                            
 

                                       

     



                                   

                                                                                            
 
                                                               
                                                                             
 
                                                                   
                                                



                                       


                                                                                                      
                       
                         
     
 









                                               
           

                                          
     
 
              
 

                                 
 
                              

                                  
                               

                                  
 








                                             

                                                                             
 
                                              
 
                                                   
                                 
 
                                                                

                   
      
                                                                              

                
 

                                                

                      
                                                       
uname_S := $(shell uname -s)

ifneq (,$(findstring MINGW,$(uname_S)))
LDFLAGS += -lmingw32
endif

ifndef CROSSHOST
LDFLAGS += -L../contrib/install/lib
endif

SDL_CFLAGS := -I../contrib/install/include/SDL $(shell pkg-config sdl --cflags 2> /dev/null)
SDL_LDFLAGS := $(shell pkg-config sdl --libs 2> /dev/null || echo "-lSDL -lSDLmain")

PNG_INCLUDE := $(shell pkg-config libpng --cflags 2> /dev/null)
PNG_LIB := $(shell pkg-config libpng --libs 2> /dev/null || echo "-lpng -lz")

CFLAGS := -I../contrib/install/include $(SDL_CFLAGS) $(PNG_INCLUDE)
LDFLAGS += $(SDL_LDFLAGS) -lSDL_image $(PNG_LIB)

ifneq (,$(findstring MINGW,$(uname_S)))
LDFLAGS += -lgdi32 -lwinmm
endif
ifeq ($(uname_S),Darwin)
LDFLAGS += -framework AppKit -framework AudioUnit -framework Carbon -framework IOKit -framework OpenGL
endif
ifeq ($(uname_S),Linux)
LDFLAGS += -ldl -lpthread
endif

# Attempt to use a full compiler name, to make
# distcc builds work nicely.
LMACH := $(shell gcc -dumpmachine)-
ifeq ($(LMACH),-)
LMACH :=
endif
ifeq ($(shell which $(LMACH)gcc 2> /dev/null),)
LMACH :=
endif
CXX = $(LMACH)g++
ifdef ARCHS
CF_ARCHS := $(patsubst %,-arch %,$(ARCHS))
CXX += $(CF_ARCHS)
endif

DELETE = rm -f

TOOLDIR := tool
TILEGEN := $(TOOLDIR)/tilegen.elf

INPUTS := main dngn player gui
INPUTFILES := $(INPUTS:%=dc-%.txt)
HEADERS := $(INPUTS:%=tiledef-%.h)
HTML := $(INPUTS:%=tile-%.html)
SOURCE := $(INPUTS:%=tiledef-%.cc)
IMAGES := $(INPUTS:%=%.png)

ifneq ($(findstring $(MAKEFLAGS),s),s)
ifndef V
        QUIET_CXX      = @echo '   ' CXX $@;
        QUIET_GEN      = @echo '   ' GEN $*;
        QUIET_LINK     = @echo '   ' LINK $@;
        export V
endif
endif

BASE_OBJECTS := tile_colour.o tile.o tile_page.o tile_list_processor.o main.o
OBJECTS := $(BASE_OBJECTS:%=$(TOOLDIR)/%)

all: $(TILEGEN) $(HEADERS) $(SOURCE) $(IMAGES)

tiledef-%.h tiledef-%.cc %.png: dc-%.txt $(TILEGEN)
	$(QUIET_GEN)$(TILEGEN) $<

# dc-foo.txt files which are included by other dc-foo.txt files.
include makefile.dc

clean:
	$(DELETE) $(HEADERS) $(OBJECTS) $(TILEGEN) $(SOURCE) $(IMAGES) $(HTML)

distclean: clean

%.o: %.cc
	$(QUIET_CXX)$(CXX) $(CFLAGS) -c $< -o $@

$(TILEGEN): $(OBJECTS)
	$(QUIET_LINK)$(CXX) $(OBJECTS) -o $@ $(LDFLAGS)