# Makefile for Catan

OBJS	= main.o
MAIN	= catan

CXX	= g++
SIZE	= size
PRINTF	= printf
RM	= rm

CXFLAGS	= -std=c++11 -Os -Wall
LFLAGS	= $(CPFLAGS)

DEPS	= $(OBJS:.o=.od)

.PHONY: all clean run
.PRECIOUS: $(OBJS) $(DEPS)

all: $(MAIN)

%.o: %.c
	@$(PRINTF) "\tC   $@\n"
	@$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.cpp
	@$(PRINTF) "\tCXX $@\n"
	@$(CXX) $(CPFLAGS) -MMD -MF $@d -c -o $@ $<

$(MAIN): $(OBJS)
	@$(PRINTF) "\tLINK $@\n"
	@$(CXX) $(CPFLAGS) -o $@ $^
	@$(PRINTF) "\tSIZE $@\n"
	@$(SIZE) $<

clean:
	@$(PRINTF) "\tCLEAN\n"
	$(RM) -f $(MAIN) $(OBJS) $(DEPS)

run: $(MAIN)
	@$(PRINTF) "\tRUN\n"
	@./$(MAIN)

-include $(DEPS)

