Files
GameLib/Makefile.common
2020-03-06 03:27:15 +01:00

173 lines
5.0 KiB
Makefile

########################
# Utility Declarations #
########################
ifeq ($(VERBOSE_BUILD),true)
DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
DO_CXX=$(CXX) $(CFLAGS) -o $@ -c $<
else
DO_CC=@$(ECHO) "CC: $@" ;\
$(CC) $(CFLAGS) -o $@ -c $<
DO_CXX=@$(ECHO) "CXX: $@" ;\
$(CXX) $(CFLAGS) -o $@ -c $<
endif
########################
# GameLib Declarations #
########################
CFLAGS += -IGameLib
GAMELIB_HEADS := \
GameLib$(SLASH)Time.h \
GameLib$(SLASH)Util.h \
GameLib$(SLASH)QuadArray2D.h \
GameLib$(SLASH)Draw.h \
GameLib$(SLASH)Input.h \
GameLib$(SLASH)Audio.h \
GameLib$(SLASH)Anim.h \
GameLib$(SLASH)Entity.h \
GameLib$(SLASH)GameLib.h
GAMELIBS_OBJS := \
<<<<<<< HEAD
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Time.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Util.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)QuadArray2D.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Draw.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Input.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Audio.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Anim.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Entity.o \
$(BUILDDIR)$(SLASH)GameLib$(SLASH)GameLib.o
RES_GAMELIB_OUT := $(BUILDDIR)$(SLASH)$(RES_GAMELIB)
=======
$(BUILDDIR)/GameLib.o/Time.o \
$(BUILDDIR)/GameLib.o/Util.o \
$(BUILDDIR)/GameLib.o/QuadArray2D.o \
$(BUILDDIR)/GameLib.o/Draw.o \
$(BUILDDIR)/GameLib.o/Input.o \
$(BUILDDIR)/GameLib.o/Audio.o \
$(BUILDDIR)/GameLib.o/Anim.o \
$(BUILDDIR)/GameLib.o/Entity.o \
$(BUILDDIR)/GameLib.o/GameLib.o
RES_GAMELIB_OUT := $(BUILDDIR)/$(RES_GAMELIB)
>>>>>>> c38b321 (Add support for MacOSX)
#####################
# Game Declarations #
#####################
GAME_HEADS := $(GAMELIB_HEADS) Game$(SLASH)GameEnts.h Game$(SLASH)GameMap.h
GAME_OBJS := \
<<<<<<< HEAD
$(BUILDDIR)$(SLASH)Game$(SLASH)GameEnts.o \
$(BUILDDIR)$(SLASH)Game$(SLASH)GameMap.o \
$(BUILDDIR)$(SLASH)Game$(SLASH)main.o
RES_GAME_OUT := $(BUILDDIR)$(SLASH)$(RES_GAME)
=======
$(BUILDDIR)/Game.o/GameEnts.o \
$(BUILDDIR)/Game.o/GameMap.o \
$(BUILDDIR)/Game.o/main.o
RES_GAME_OUT := $(BUILDDIR)/$(RES_GAME)
>>>>>>> c38b321 (Add support for MacOSX)
#################
# General Rules #
#################
all: $(BUILDDIR) $(RES_GAME_OUT)
$(BUILDDIR):
$(MKDIR) $(BUILDDIR)
<<<<<<< HEAD
$(MKDIR) $(BUILDDIR)$(SLASH)GameLib
$(MKDIR) $(BUILDDIR)$(SLASH)Game
=======
$(MKDIR) $(BUILDDIR)/GameLib.o
$(MKDIR) $(BUILDDIR)/Game.o
>>>>>>> c38b321 (Add support for MacOSX)
clean:
$(RM) $(GAMELIBS_OBJS) $(RES_GAMELIB_OUT) $(GAME_OBJS) $(RES_GAME_OUT)
run: $(BUILDDIR) $(RES_GAME_OUT)
$(LAUNCHER) .$(SLASH)$(RES_GAME_OUT) debug
rebuild: clean all
#################
# GameLib Rules #
#################
<<<<<<< HEAD
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Time.o: GameLib$(SLASH)Time.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Util.o: GameLib$(SLASH)Util.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)QuadArray2D.o: GameLib$(SLASH)QuadArray2D.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Draw.o: GameLib$(SLASH)Draw.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Input.o: GameLib$(SLASH)Input.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Audio.o: GameLib$(SLASH)Audio.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Entity.o: GameLib$(SLASH)Entity.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)Anim.o: GameLib$(SLASH)Anim.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)GameLib$(SLASH)GameLib.o: GameLib$(SLASH)GameLib.c $(HEADS)
=======
$(BUILDDIR)/GameLib.o/Time.o: GameLib/Time.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Util.o: GameLib/Util.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/QuadArray2D.o: GameLib/QuadArray2D.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Draw.o: GameLib/Draw.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Input.o: GameLib/Input.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Audio.o: GameLib/Audio.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Entity.o: GameLib/Entity.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/Anim.o: GameLib/Anim.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/GameLib.o/GameLib.o: GameLib/GameLib.c $(HEADS)
>>>>>>> c38b321 (Add support for MacOSX)
$(DO_CC)
##############
# Game Rules #
##############
<<<<<<< HEAD
$(BUILDDIR)$(SLASH)Game$(SLASH)GameEnts.o: Game$(SLASH)GameEnts.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)Game$(SLASH)GameMap.o: Game$(SLASH)GameMap.c $(HEADS)
$(DO_CC)
$(BUILDDIR)$(SLASH)Game$(SLASH)main.o: Game$(SLASH)main.c $(HEADS)
=======
$(BUILDDIR)/Game.o/GameEnts.o: Game/GameEnts.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Game.o/GameMap.o: Game/GameMap.c $(HEADS)
$(DO_CC)
$(BUILDDIR)/Game.o/main.o: Game/main.c $(HEADS)
>>>>>>> c38b321 (Add support for MacOSX)
$(DO_CC)
################
# Result Rules #
################
$(RES_GAMELIB_OUT): $(GAMELIBS_OBJS)
@$(ECHO) "STATICLIB: $@"
@$(AR) rcs $(RES_GAMELIB_OUT) $(GAMELIBS_OBJS)
$(RES_GAME_OUT): $(RES_GAMELIB_OUT) $(GAME_OBJS)
@$(ECHO) "LINK: $@"
@$(CC) $(GAME_OBJS) $(RES_GAMELIB_OUT) -o $(RES_GAME_OUT) $(CFLAGS) $(LIBS) $(LDFLAGS)