A game library and wrapper around SFML
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

172 lines
8.0 KiB

FLAGS=g++ -std=c++11 -c -Os -Wall
ARCHIVE_NAME=lib/base.a
OBJ_DIR=LOCAL_obj
all: pool.o quadTree.o noise.o eptParser.o math.o collision.o timer.o profiler.o graphics.o imageManager.o input.o inputState.o tileMap.o multilayerMap.o tileCamera.o animation.o sound.o
@echo -------------------Building archive...
ar rvs $(ARCHIVE_NAME) pool.o quadTree.o noise.o eptParser.o math.o collision.o graphics.o imageManager.o input.o inputState.o tileMap.o multilayerMap.o tileCamera.o animation.o timer.o profiler.o sound.o
#mv *.o $(OBJ_DIR)
pool.o: dataStructures/pool.hpp dataStructures/pool.cpp
$(FLAGS) "dataStructures/pool.hpp"
$(FLAGS) "dataStructures/pool.cpp"
quadTree.o: dataStructures/quadTree.hpp dataStructures/quadTree.cpp
$(FLAGS) "dataStructures/quadTree.hpp"
$(FLAGS) "dataStructures/quadTree.cpp"
noise.o: noise/noise.hpp noise/noise.cpp
$(FLAGS) "noise/noise.hpp"
$(FLAGS) "noise/noise.cpp"
eptParser.o: ept/eptParser.hpp ept/eptParser.cpp
$(FLAGS) "ept/eptParser.hpp"
$(FLAGS) "ept/eptParser.cpp"
math.o: math/math.hpp math/math.cpp
$(FLAGS) "math/math.hpp"
$(FLAGS) "math/math.cpp"
collision.o: collision/collision.hpp collision/collision.cpp
$(FLAGS) "collision/collision.hpp"
$(FLAGS) "collision/collision.cpp"
timer.o: timer/timer.hpp timer/timer.cpp
$(FLAGS) "timer/timer.hpp"
$(FLAGS) "timer/timer.cpp"
profiler.o: profiler/profiler.hpp profiler/profiler.cpp
$(FLAGS) "profiler/profiler.hpp"
$(FLAGS) "profiler/profiler.cpp"
graphics.o: graphics/graphics.hpp graphics/graphics.cpp
$(FLAGS) "graphics/graphics.hpp"
$(FLAGS) "graphics/graphics.cpp"
imageManager.o: graphics/imageManager.hpp graphics/imageManager.cpp
$(FLAGS) "graphics/imageManager.hpp"
$(FLAGS) "graphics/imageManager.cpp"
input.o: input/input.hpp input/input.cpp
$(FLAGS) "input/input.hpp"
$(FLAGS) "input/input.cpp"
inputState.o: input/inputState.hpp input/inputState.cpp
$(FLAGS) "input/inputState.hpp"
$(FLAGS) "input/inputState.cpp"
tileMap.o: tileMap/tileMap.hpp tileMap/tileMap.cpp
$(FLAGS) "tileMap/tileMap.hpp"
$(FLAGS) "tileMap/tileMap.cpp"
multilayerMap.o: tileMap/multilayerMap.hpp tileMap/multilayerMap.cpp
$(FLAGS) "tileMap/multilayerMap.hpp"
$(FLAGS) "tileMap/multilayerMap.cpp"
tileCamera.o: tileMap/tileCamera.hpp tileMap/tileCamera.cpp
$(FLAGS) "tileMap/tileCamera.hpp"
$(FLAGS) "tileMap/tileCamera.cpp"
animation.o: animation/animation.hpp animation/animation.cpp
$(FLAGS) "animation/animation.hpp"
$(FLAGS) "animation/animation.cpp"
sound.o: sound/sound.hpp sound/sound.cpp
$(FLAGS) "sound/sound.hpp"
$(FLAGS) "sound/sound.cpp"
tools: tileEditor.o multilayerMapEditor.o tiledImporter.o
@echo -------------------Building tileEditor...
g++ -Wall -o "tools/tileEditor" "tileEditor.o" $(ARCHIVE_NAME) -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system
@echo -------------------Building multilayerMapEditor...
g++ -Wall -o "tools/multilayerMapEditor" "multilayerMapEditor.o" $(ARCHIVE_NAME) -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system
@echo -------------------Building tiledImporter...
g++ -Wall -o "tools/tiledImporter" "pugixml.o" "tiledImporter.o" $(ARCHIVE_NAME) -L/usr/local/lib -lsfml-graphics -lsfml-window -lsfml-system
tileEditor.o: tileMap/tileEditor.cpp
$(FLAGS) "tileMap/tileEditor.cpp"
multilayerMapEditor.o:
$(FLAGS) "tileMap/multilayerMapEditor.cpp"
tiledImporter.o: tiledImporter/tiledImporter.cpp pugixml.o
$(FLAGS) "tiledImporter/tiledImporter.cpp"
pugixml.o: tiledImporter/pugixml/pugiconfig.hpp tiledImporter/pugixml/pugixml.hpp tiledImporter/pugixml/pugixml.cpp
$(FLAGS) "tiledImporter/pugixml/pugiconfig.hpp"
$(FLAGS) "tiledImporter/pugixml/pugixml.hpp"
$(FLAGS) "tiledImporter/pugixml/pugixml.cpp"
clean:
rm *.o
rm $(ARCHIVE_NAME)
#rm *.gch
rm graphics/*.gch
rm input/*.gch
rm timer/*.gch
rm profiler/*.gch
rm collision/*.gch
rm tileMap/*.gch
rm sound/*.gch
rm ept/*.gch
rm animation/*.gch
rm noise/*.gch
rm dataStructures/*.gch
#rm 3rdParty/*.gch
@echo -------------------If base is installed, removing it... [root priveleges]
rm /usr/lib/libbase2.0.a
rm -r /usr/include/base2.0
cleanTools:
rm multilayerMapEditor.o
rm tileEditor.o
@echo -------------------Removing tools [error if not created with make tools]
rm tools/tileEditor
rm /usr/bin/tileEditor
rm tools/multilayerMapEditor
rm /usr/bin/multilayerMapEditor
rm tools/tiledImporter
rm /usr/bin/tiledImporter
install:
@echo -------------------Installing /lib/base.a to /usr/lib/libbase2.0.a...
cp lib/base.a /usr/lib/libbase2.0.a
@echo -------------------Preparing /usr/include/base2.0...
mkdir /usr/include/base2.0
mkdir /usr/include/base2.0/3rdParty
mkdir /usr/include/base2.0/noise
mkdir /usr/include/base2.0/dataStructures
mkdir /usr/include/base2.0/ept
mkdir /usr/include/base2.0/math
mkdir /usr/include/base2.0/collision
mkdir /usr/include/base2.0/timer
mkdir /usr/include/base2.0/profiler
mkdir /usr/include/base2.0/graphics
mkdir /usr/include/base2.0/input
mkdir /usr/include/base2.0/tileMap
mkdir /usr/include/base2.0/sound
mkdir /usr/include/base2.0/animation
@echo -------------------Installing header files to /usr/include/base2.0...
cp 3rdParty/OpenSimplexNoise.hh /usr/include/base2.0/3rdParty/OpenSimplexNoise.hh
cp dataStructures/pool.hpp /usr/include/base2.0/dataStructures/pool.hpp
cp dataStructures/quadTree.hpp /usr/include/base2.0/dataStructures/quadTree.hpp
cp noise/noise.hpp /usr/include/base2.0/noise/noise.hpp
cp math/math.hpp /usr/include/base2.0/math/math.hpp
cp ept/eptParser.hpp /usr/include/base2.0/ept/eptParser.hpp
cp collision/collision.hpp /usr/include/base2.0/collision/collision.hpp
cp timer/timer.hpp /usr/include/base2.0/timer/timer.hpp
cp profiler/profiler.hpp /usr/include/base2.0/profiler/profiler.hpp
cp graphics/graphics.hpp /usr/include/base2.0/graphics/graphics.hpp
cp graphics/imageManager.hpp /usr/include/base2.0/graphics/imageManager.hpp
cp input/input.hpp /usr/include/base2.0/input/input.hpp
cp input/inputState.hpp /usr/include/base2.0/input/inputState.hpp
cp tileMap/tileMap.hpp /usr/include/base2.0/tileMap/tileMap.hpp
cp tileMap/multilayerMap.hpp /usr/include/base2.0/tileMap/multilayerMap.hpp
cp tileMap/tileCamera.hpp /usr/include/base2.0/tileMap/tileCamera.hpp
cp sound/sound.hpp /usr/include/base2.0/sound/sound.hpp
cp animation/animation.hpp /usr/include/base2.0/animation/animation.hpp
update:
@echo -------------------Installing /lib/base.a to /usr/lib/libbase2.0.a...
cp lib/base.a /usr/lib/libbase2.0.a
@echo -------------------Installing header files to /usr/include/base2.0...
cp 3rdParty/OpenSimplexNoise.hh /usr/include/base2.0/3rdParty/OpenSimplexNoise.hh
cp dataStructures/pool.hpp /usr/include/base2.0/dataStructures/pool.hpp
cp dataStructures/quadTree.hpp /usr/include/base2.0/dataStructures/quadTree.hpp
cp noise/noise.hpp /usr/include/base2.0/noise/noise.hpp
cp math/math.hpp /usr/include/base2.0/math/math.hpp
cp ept/eptParser.hpp /usr/include/base2.0/ept/eptParser.hpp
cp collision/collision.hpp /usr/include/base2.0/collision/collision.hpp
cp timer/timer.hpp /usr/include/base2.0/timer/timer.hpp
cp profiler/profiler.hpp /usr/include/base2.0/profiler/profiler.hpp
cp graphics/graphics.hpp /usr/include/base2.0/graphics/graphics.hpp
cp graphics/imageManager.hpp /usr/include/base2.0/graphics/imageManager.hpp
cp input/input.hpp /usr/include/base2.0/input/input.hpp
cp input/inputState.hpp /usr/include/base2.0/input/inputState.hpp
cp tileMap/tileMap.hpp /usr/include/base2.0/tileMap/tileMap.hpp
cp tileMap/multilayerMap.hpp /usr/include/base2.0/tileMap/multilayerMap.hpp
cp tileMap/tileCamera.hpp /usr/include/base2.0/tileMap/tileCamera.hpp
cp sound/sound.hpp /usr/include/base2.0/sound/sound.hpp
cp animation/animation.hpp /usr/include/base2.0/animation/animation.hpp
installTools:
@echo -------------------Installing Tile Map Editor [/usr/bin] and .desktop shortcut [Ubuntu only]
cp tools/tileEditor /usr/bin/tileEditor
cp tools/tle.desktop /usr/share/applications/tle.desktop
cp tools/multilayerMapEditor /usr/bin/multilayerMapEditor
cp tools/mlme.desktop /usr/share/applications/mlme.desktop
cp tools/tiledImporter /usr/bin/tiledImporter