CC = g++
CFLAGS = -Wall `sdl-config --cflags --libs`
PROG = Game
PRE = rm -f $(PROG)
#-------------------------------------------------------------------------------
#BLOCK
PATH_BLOCK = Block/
IBLOCK = -I./$(PATH_BLOCK)
BLOCK = $(wildcard $(PATH_BLOCK)*.cpp)
#COMMONBLOCK
PATH_COMMON_BLOCK = $(PATH_BLOCK)CommonBlock/
ICOMMON_BLOCK = -I./$(PATH_COMMON_BLOCK)
COMMON_BLOCK = $(wildcard $(PATH_COMMON_BLOCK)*.cpp)
#ITEMBLOCK
PATH_ITEM_BLOCK = $(PATH_BLOCK)ItemBlock/
IITEM_BLOCK = -I./$(PATH_ITEM_BLOCK)
ITEM_BLOCK = $(wildcard $(PATH_ITEM_BLOCK)*.cpp)
#TODOS BLOCKS
BLOCKS = $(BLOCK) $(COMMON_BLOCK) $(ITEM_BLOCK)
IBLOCKS = $(IBLOCK) $(ICOMMON_BLOCK) $(IITEM_BLOCK)
#-------------------------------------------------------------------------------
#BALL
PATH_BALL = Ball/
IBALL = -I./$(PATH_BALL)
BALL = $(wildcard $(PATH_BALL)*.cpp)
#-------------------------------------------------------------------------------
#ITEM
PATH_ITEM = Item/
IITEM = -I./$(PATH_ITEM)
ITEM = $(wildcard $(PATH_ITEM)*.cpp)
#-------------------------------------------------------------------------------
#BANDEJA
PATH_BANDEJA = Bandeja/
IBANDEJA = -I./$(PATH_BANDEJA)
BANDEJA = $(wildcard $(PATH_BANDEJA)*.cpp)
#-------------------------------------------------------------------------------
#LEVELS E MAPAS
PATH_LEVEL = Levels/
ILEVEL = -I./$(PATH_LEVEL)
LEVEL = $(wildcard $(PATH_LEVEL)*.cpp)
PATH_MAPS = $(PATH_LEVEL)Maps/
IMAPS = -I./$(PATH_MAPS)
MAPS = $(wildcard $(PATH_MAPS)*.cpp)
#-------------------------------------------------------------------------------
#Todos sources
SRCS = $(wildcard *.cpp) $(BLOCKS) $(BALL) $(ITEM) $(BANDEJA) $(LEVEL) $(MAPS)
INCLUDE = -I. $(IBLOCKS) $(IBALL) $(IITEM) $(IBANDEJA) $(ILEVEL) $(IMAPS)
#-------------------------------------------------------------------------------
#REGRAS
all: $(PROG)
$(PROG): $(SRCS)
$(PRE) && $(CC) $(INCLUDE) $(CFLAGS) -o $(PROG) $(SRCS)
clean:
rm -f $(PROG)