108 lines
3.0 KiB
Makefile
108 lines
3.0 KiB
Makefile
|
|
|
|
########################
|
|
# GameLib Declarations #
|
|
########################
|
|
CFLAGS += -IGameLib
|
|
GAMELIB_HEADS = \
|
|
GameLib/Time.h \
|
|
GameLib/Util.h \
|
|
GameLib/QuadArray2D.h \
|
|
GameLib/Draw.h \
|
|
GameLib/Input.h \
|
|
GameLib/Audio.h \
|
|
GameLib/Anim.h \
|
|
GameLib/Entity.h \
|
|
GameLib/GameLib.h
|
|
GAMELIBS_OBJS = \
|
|
$(BUILDDIR)/GameLib/Time.o \
|
|
$(BUILDDIR)/GameLib/Util.o \
|
|
$(BUILDDIR)/GameLib/QuadArray2D.o \
|
|
$(BUILDDIR)/GameLib/Draw.o \
|
|
$(BUILDDIR)/GameLib/Input.o \
|
|
$(BUILDDIR)/GameLib/Audio.o \
|
|
$(BUILDDIR)/GameLib/Anim.o \
|
|
$(BUILDDIR)/GameLib/Entity.o \
|
|
$(BUILDDIR)/GameLib/GameLib.o
|
|
RES_GAMELIB_OUT = $(BUILDDIR)/$(RES_GAMELIB)
|
|
|
|
#####################
|
|
# Game Declarations #
|
|
#####################
|
|
GAME_HEADS = $(GAMELIB_HEADS) Game/GameEnts.h Game/GameMap.h
|
|
GAME_OBJS = \
|
|
$(BUILDDIR)/Game/GameEnts.o \
|
|
$(BUILDDIR)/Game/GameMap.o \
|
|
$(BUILDDIR)/Game/main.o
|
|
RES_GAME_OUT = $(BUILDDIR)/$(RES_GAME)
|
|
|
|
|
|
#################
|
|
# General Rules #
|
|
#################
|
|
all: $(BUILDDIR) $(RES_GAME_OUT)
|
|
|
|
$(BUILDDIR):
|
|
$(MKDIR) $(BUILDDIR)
|
|
$(MKDIR) $(BUILDDIR)/GameLib
|
|
$(MKDIR) $(BUILDDIR)/Game
|
|
|
|
clean:
|
|
$(RM) $(GAMELIBS_OBJS) $(RES_GAMELIB_OUT) $(GAME_OBJS) $(RES_GAME_OUT)
|
|
|
|
run: $(BUILDDIR) $(RES_GAME_OUT)
|
|
$(LAUNCHER) ./$(RES_GAME_OUT) debug
|
|
|
|
rebuild: clean all
|
|
|
|
#################
|
|
# GameLib Rules #
|
|
#################
|
|
$(BUILDDIR)/GameLib/Time.o: GameLib/Time.c $(HEADS)
|
|
$(CC) -c GameLib/Time.c -o $(BUILDDIR)/GameLib/Time.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Util.o: GameLib/Util.c $(HEADS)
|
|
$(CC) -c GameLib/Util.c -o $(BUILDDIR)/GameLib/Util.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/QuadArray2D.o: GameLib/QuadArray2D.c $(HEADS)
|
|
$(CC) -c GameLib/QuadArray2D.c -o $(BUILDDIR)/GameLib/QuadArray2D.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Draw.o: GameLib/Draw.c $(HEADS)
|
|
$(CC) -c GameLib/Draw.c -o $(BUILDDIR)/GameLib/Draw.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Input.o: GameLib/Input.c $(HEADS)
|
|
$(CC) -c GameLib/Input.c -o $(BUILDDIR)/GameLib/Input.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Audio.o: GameLib/Audio.c $(HEADS)
|
|
$(CC) -c GameLib/Audio.c -o $(BUILDDIR)/GameLib/Audio.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Entity.o: GameLib/Entity.c $(HEADS)
|
|
$(CC) -c GameLib/Entity.c -o $(BUILDDIR)/GameLib/Entity.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/Anim.o: GameLib/Anim.c $(HEADS)
|
|
$(CC) -c GameLib/Anim.c -o $(BUILDDIR)/GameLib/Anim.o $(CFLAGS)
|
|
$(BUILDDIR)/GameLib/GameLib.o: GameLib/GameLib.c $(HEADS)
|
|
$(CC) -c GameLib/GameLib.c -o $(BUILDDIR)/GameLib/GameLib.o $(CFLAGS)
|
|
|
|
|
|
##############
|
|
# Game Rules #
|
|
##############
|
|
|
|
$(BUILDDIR)/Game/GameEnts.o: Game/GameEnts.c $(HEADS)
|
|
$(CC) -c Game/GameEnts.c -o $(BUILDDIR)/Game/GameEnts.o $(CFLAGS)
|
|
|
|
$(BUILDDIR)/Game/GameMap.o: Game/GameMap.c $(HEADS)
|
|
$(CC) -c Game/GameMap.c -o $(BUILDDIR)/Game/GameMap.o $(CFLAGS)
|
|
|
|
$(BUILDDIR)/Game/main.o: Game/main.c $(HEADS)
|
|
$(CC) -c Game/main.c -o $(BUILDDIR)/Game/main.o $(CFLAGS)
|
|
|
|
|
|
################
|
|
# Result Rules #
|
|
################
|
|
|
|
$(RES_GAMELIB_OUT): $(GAMELIBS_OBJS)
|
|
$(AR) rcs $(RES_GAMELIB_OUT) $(GAMELIBS_OBJS)
|
|
|
|
$(RES_GAME_OUT): $(RES_GAMELIB_OUT) $(GAME_OBJS)
|
|
$(CC) $(GAME_OBJS) $(RES_GAMELIB_OUT) -o $(RES_GAME_OUT) $(LIBS) $(CFLAGS) $(LDFLAGS)
|
|
|
|
|
|
|
|
|