100 lines
2.2 KiB
Makefile
100 lines
2.2 KiB
Makefile
#Troy Rosin
|
|
|
|
CC =gcc
|
|
CFLAGS =-g
|
|
CPPFLAGS =-c -g -Wall -pedantic -Wextra
|
|
LDFLAGS =-lSDL2 -lm -lSDL2main -lSDL2_image
|
|
LDFLAGS +=-L/usr/local/lib -lSDL2_ttf -lSDL2_net
|
|
INCFLAGS = -I/usr/local/include/SDL2 -Iinclude
|
|
|
|
|
|
INC =include/
|
|
BIN =build/bin/
|
|
LIB =build/lib/
|
|
OBJ =build/obj/
|
|
DIRS =$(BIN) $(LIB) $(OBJ)
|
|
|
|
debug ?=on
|
|
ifeq ($(debug),on)
|
|
CPPFLAGS += -Ddebug
|
|
endif
|
|
|
|
BINARIES = game client server
|
|
|
|
all : $(BINARIES)
|
|
|
|
clean :
|
|
rm -rf build/ $(BINARIES)
|
|
|
|
$(DIRS) :
|
|
mkdir -p $@
|
|
|
|
## --- OBJECT FILES ---
|
|
#$(OBJ) : | $(OBJ)
|
|
# $(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)client_test.o : client_test.c | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)server_test.o : server_test.c | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)main.o : main.c $(INC)input.h $(INC)game.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)battle.o : battle.c $(INC)game.h $(INC)deck.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)input.o : input.c $(INC)input.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)host.o : host.c $(INC)host.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)join.o : join.c | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)options.o : options.c | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)game.o : game.c $(INC)game.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)overworld.o : overworld.c $(INC)overworld.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)net.o : net.c $(INC)net.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)client.o : client.c $(INC)net.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
$(OBJ)server.o : server.c $(INC)net.h | $(OBJ)
|
|
$(CC) $(CPPFLAGS) -o $@ $< $(INCFLAGS)
|
|
|
|
|
|
|
|
|
|
|
|
## --- LIBRARY FILES ---
|
|
#$(LIB) : | $(LIB)
|
|
# ar rcs $@ $^
|
|
|
|
## --- EXECUTABLE FILES ---
|
|
#$(BIN) : $(OBJ) | $(BIN)
|
|
# $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
|
|
|
|
$(BIN)client : $(OBJ)client.o | $(BIN)
|
|
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
|
|
|
|
$(BIN)server: $(OBJ)server.o | $(BIN)
|
|
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
|
|
|
|
$(BIN)game : $(OBJ)main.o $(OBJ)input.o $(OBJ)battle.o $(OBJ)game.o\
|
|
$(OBJ)options.o $(OBJ)host.o $(OBJ)join.o $(OBJ)overworld.o $(OBJ)net.o\
|
|
| $(BIN)
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
|
|
|
|
$(BINARIES) : % : $(BIN)%
|
|
ln -sf $< $@
|