# # Project: breakhack # # Created on: 29-08-2022 21:00:37 # by George Sokianos # ################################################################### ## ##//// Objects ## ################################################################### breakhack_OBJ := \ src/actiontext.o src/actiontextbuilder.o src/animation.o \ src/artifact.o src/camera.o src/collisions.o \ src/db.o src/effect_util.o src/event.o \ src/gamecontroller.o src/gui_button.o src/gui.o \ src/gui_util.o src/hashtable.o src/hiscore.o \ src/input.o src/io_util.o src/item_builder.o \ src/item.o src/keyboard.o src/linkedlist.o \ src/main.o src/map.o src/map_lua.o \ src/map_room_modifiers.o src/menu.o src/mixer.o \ src/monster.o src/object.o src/particle_emitter.o \ src/particle_engine.o src/physfsrwops.o src/player.o \ src/pointer.o src/position.o src/projectile.o \ src/random.o src/roommatrix.o src/save.o \ src/screen.o src/screenresolution.o src/settings.o \ src/skill.o src/skillbar.o src/sprite.o \ src/sprite_util.o src/stats.o src/texture.o \ src/texturecache.o src/time.o src/timer.o \ src/tooltip.o src/trap.o src/util.o \ src/vector2d.o bh_random/src/bh_random.o ################################################################### ## ##//// Variables and Environment ## ################################################################### CC := gcc:bin/gcc INCPATH := -I. -I/sdk/local/newlib/include/SDL2 -Ibh_random/src \ -I/sdk/local/common/include/lua53 # -DDEBUG CFLAGS := $(INCPATH) -Wall -Wwrite-strings -Wno-discarded-qualifiers # \ # -g -gstabs # -ggdb -gdwarf-2 LFLAGS := -lauto -lSDL2_image -lSDL2_ttf -lfreetype -ltiff -lwebp -lpng -ljpeg \ -llua53 -lsqlite3 -lz \ -lSDL2_mixer -lmikmod -lmodplug -lFLAC -logg \ -lSDL2 -lphysfs -lpthread -athread=native -lstdc++ # \ # -g -gstabs # -ggdb -gdwarf-2 # -lunix # -lenet -lcrypto -lSDL2_gl4es -lglu_gl4es -lgl4es -lopenal \ ################################################################### ## ##//// General rules ## ################################################################### .PHONY: all all-before all-after clean clean-custom realclean all: all-before breakhack all-after all-before: # You can add rules here to execute before the project is built all-after: # You can add rules here to execute after the project is built clean: clean-custom @echo "Cleaning compiler objects..." @rm -f $(breakhack_OBJ) realclean: @echo "Cleaning compiler objects and targets..." @rm -f $(breakhack_OBJ) breakhack ################################################################### ## ##//// Targets ## ################################################################### breakhack: $(breakhack_OBJ) @echo "Linking breakhack" @gcc:bin/gcc -o breakhack $(breakhack_OBJ) $(LFLAGS) @echo "Removing stale debug target: breakhack" @rm -f breakhack.debug ################################################################### ## ##//// Standard rules ## ################################################################### # A default rule to make all the objects listed below # because we are hiding compiler commands from the output .c.o: @echo "Compiling $<" @$(CC) -c $< -o $*.o $(CFLAGS) src/actiontext.o: src/actiontext.c src/actiontext.h \ src/position.h src/sprite.h src/texture.h \ src/camera.h src/roommatrix.h src/timer.h \ src/vector2d.h src/util.h src/update_data.h \ src/player.h src/stats.h src/skill.h \ src/linkedlist.h src/input.h src/artifact.h \ src/map.h src/defines.h src/monster.h \ src/map_room_modifiers.h src/object.h src/doorlocktype.h src/actiontextbuilder.o: src/actiontextbuilder.c src/actiontextbuilder.h src/actiontext.h \ src/position.h src/sprite.h src/timer.h \ src/vector2d.h src/camera.h src/update_data.h \ src/player.h src/map.h src/roommatrix.h \ src/gui.h src/util.h src/animation.o: src/animation.c src/animation.h src/timer.h \ src/camera.h src/position.h src/vector2d.h \ src/sprite.h src/texture.h \ src/dimension.h src/roommatrix.h src/defines.h \ src/map_room_modifiers.h src/input.h src/artifact.o: src/artifact.c src/artifact.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h \ src/vector2d.h src/util.h src/texturecache.h \ src/dimension.h src/particle_engine.h src/player.h \ src/stats.h src/actiontext.h src/skill.h \ src/linkedlist.h src/input.h src/random.h \ src/camera.o: src/camera.c src/camera.h src/position.h \ src/timer.h src/vector2d.h src/map.h \ src/linkedlist.h src/sprite.h src/texture.h \ src/roommatrix.h src/defines.h src/config.h \ src/monster.h src/stats.h src/actiontext.h \ src/player.h src/doorlocktype.h src/particle_emitter.h \ src/skill.h src/input.h src/artifact.h \ src/map_room_modifiers.h src/object.h src/util.h src/collisions.o: src/collisions.c src/collisions.h src/db.o: src/db.c src/db.h src/effect_util.o: src/effect_util.c src/gui.h src/linkedlist.h \ src/sprite.h src/texture.h src/position.h \ src/camera.h src/roommatrix.h src/timer.h \ src/vector2d.h src/player.h \ src/stats.h src/actiontext.h src/skill.h \ src/input.h src/artifact.h src/monster.h src/doorlocktype.h \ src/particle_emitter.h src/dimension.h src/defines.h \ src/config.h src/map_room_modifiers.h src/event.o: src/event.c src/event.h src/player.h \ src/sprite.h src/stats.h \ src/actiontext.h src/camera.h src/skill.h \ src/linkedlist.h src/input.h src/artifact.h src/gamecontroller.o: src/gamecontroller.c src/gamecontroller.h src/gui_button.o: src/gui_button.c src/util.h src/gui_button.h \ src/pointer.h src/sprite.h src/camera.h \ src/input.h src/texture.h src/position.h \ src/roommatrix.h src/timer.h src/linkedlist.h \ src/vector2d.h src/gui.o: src/gui.c src/gui.h src/linkedlist.h \ src/sprite.h src/texture.h src/position.h \ src/camera.h src/roommatrix.h src/timer.h \ src/vector2d.h src/player.h \ src/stats.h src/actiontext.h src/skill.h \ src/input.h src/artifact.h src/util.h \ src/map.h \ src/defines.h src/config.h src/monster.h \ src/doorlocktype.h src/particle_emitter.h src/map_room_modifiers.h \ src/object.h src/texturecache.h \ src/dimension.h src/gui_util.h src/gui_util.o: src/gui_util.c src/texturecache.h src/texture.h \ src/dimension.h src/position.h \ src/camera.h src/gui_util.h src/sprite.h \ src/roommatrix.h src/timer.h src/hashtable.o: src/hashtable.c src/hashtable.h src/defines.h \ src/config.h src/hiscore.o: src/hiscore.c src/hiscore.h src/linkedlist.h \ src/player.h src/sprite.h \ src/stats.h src/actiontext.h src/camera.h \ src/skill.h src/input.h src/artifact.h \ src/db.h src/input.o: src/input.c src/input.h src/io_util.o: src/io_util.c src/physfsrwops.h src/io_util.h src/item_builder.o: src/item_builder.c src/item_builder.h \ src/item.h src/sprite.h src/position.h \ src/player.h src/camera.h src/linkedlist.h \ src/texture.h src/dimension.h \ src/timer.h src/vector2d.h src/util.h \ src/gui.h src/roommatrix.h src/stats.h \ src/actiontext.h src/skill.h src/input.h \ src/artifact.h src/mixer.h src/gamestate.h \ src/random.h src/texturecache.h src/defines.h \ src/map_room_modifiers.h src/sprite_util.h src/map.h \ src/config.h src/monster.h src/doorlocktype.h \ src/particle_emitter.h src/item.o: src/item.c src/item.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/player.h \ src/stats.h src/actiontext.h \ src/skill.h src/linkedlist.h src/input.h \ src/artifact.h src/vector2d.h src/util.h \ src/mixer.h src/gamestate.h src/gui.h \ src/actiontextbuilder.h src/update_data.h src/keyboard.o: src/keyboard.c src/keyboard.h src/defines.h \ src/config.h src/linkedlist.o: src/linkedlist.c src/linkedlist.h src/main.o: src/main.c /sdk/local/newlib/include/SDL2/SDL_main.h \ src/linkedlist.h src/player.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/stats.h \ src/actiontext.h src/vector2d.h src/skill.h \ src/input.h src/artifact.h src/screenresolution.h \ src/dimension.h src/map.h src/defines.h \ src/config.h src/monster.h src/doorlocktype.h \ src/particle_emitter.h src/map_room_modifiers.h src/object.h \ src/map_lua.h src/gamestate.h src/gui.h \ src/util.h src/item_builder.h src/item.h \ src/pointer.h src/gui_button.h src/particle_engine.h \ src/menu.h src/keyboard.h \ src/mixer.h src/random.h src/skillbar.h \ src/texturecache.h src/update_data.h src/settings.h \ src/actiontextbuilder.h src/screen.h src/hiscore.h \ src/io_util.h src/tooltip.h src/gamecontroller.h \ src/time.h src/sprite_util.h src/event.h \ src/save.h src/steam/steamworks_api_wrapper.h src/defines.h src/map.o: src/map.c src/map.h src/linkedlist.h \ src/sprite.h src/texture.h src/position.h \ src/camera.h src/roommatrix.h src/timer.h \ src/vector2d.h src/defines.h src/config.h \ src/monster.h src/stats.h src/actiontext.h \ src/player.h src/doorlocktype.h src/particle_emitter.h \ src/skill.h src/input.h src/artifact.h \ src/map_room_modifiers.h src/object.h src/map_lua.h \ src/util.h src/item.h src/item_builder.h \ src/gui.h src/particle_engine.h src/dimension.h \ src/update_data.h src/trap.h src/mixer.h src/map_lua.o: src/map_lua.c src/map_lua.h src/map.h \ src/linkedlist.h src/sprite.h \ src/camera.h src/position.h src/timer.h \ src/defines.h src/monster.h src/player.h \ src/map_room_modifiers.h src/object.h src/doorlocktype.h \ src/config.h src/util.h src/stats.h \ src/io_util.h src/texturecache.h src/texture.h \ src/dimension.h src/trap.h src/roommatrix.h \ src/actiontext.h src/skill.h src/input.h \ src/artifact.h src/update_data.h src/gui.h \ src/vector2d.h src/item.h src/item_builder.h src/map_room_modifiers.o: src/map_room_modifiers.c src/map_room_modifiers.h src/vector2d.h \ src/player.h src/sprite.h src/texture.h \ src/position.h src/camera.h src/roommatrix.h \ src/timer.h src/stats.h src/actiontext.h \ src/skill.h src/linkedlist.h src/input.h \ src/artifact.h src/defines.h src/menu.o: src/menu.c src/menu.h src/camera.h \ src/position.h src/timer.h src/vector2d.h \ src/linkedlist.h src/texture.h \ src/dimension.h src/sprite.h src/roommatrix.h \ src/util.h src/defines.h src/map_room_modifiers.h \ src/input.h src/config.h src/gui_button.h \ src/pointer.h src/keyboard.h src/mixer.h \ src/gamestate.h src/collisions.h src/mixer.o: src/mixer.c src/mixer.h src/gamestate.h \ src/util.h src/io_util.h src/settings.h src/monster.o: src/monster.c src/monster.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/stats.h \ src/actiontext.h src/vector2d.h src/player.h \ src/skill.h src/linkedlist.h src/input.h \ src/artifact.h src/doorlocktype.h src/particle_emitter.h \ src/dimension.h src/util.h src/random.h \ src/gui.h src/item.h src/item_builder.h \ src/map.h src/defines.h src/config.h \ src/map_room_modifiers.h src/object.h src/particle_engine.h \ src/update_data.h src/actiontextbuilder.h src/texturecache.h \ src/trap.h src/mixer.h src/object.o: src/object.c src/object.h src/camera.h \ src/position.h src/timer.h src/vector2d.h \ src/player.h src/sprite.h src/stats.h \ src/actiontext.h src/skill.h src/linkedlist.h \ src/input.h src/artifact.h src/texture.h \ src/roommatrix.h src/util.h src/mixer.h \ src/gamestate.h src/random.h src/texturecache.h src/particle_emitter.o: src/particle_emitter.c src/particle_emitter.h src/timer.h \ src/position.h src/dimension.h src/particle_engine.o: src/particle_engine.c src/particle_engine.h src/position.h \ src/dimension.h src/camera.h src/timer.h \ src/vector2d.h src/linkedlist.h src/util.h \ src/defines.h src/config.h src/physfsrwops.o: src/physfsrwops.c src/physfsrwops.h src/player.o: src/player.c src/player.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/stats.h \ src/actiontext.h src/vector2d.h src/skill.h \ src/linkedlist.h src/input.h src/artifact.h \ src/monster.h src/doorlocktype.h src/particle_emitter.h \ src/dimension.h src/util.h src/gui.h \ src/item.h src/particle_engine.h src/keyboard.h \ src/defines.h src/config.h src/mixer.h \ src/gamestate.h src/random.h src/projectile.h \ src/map_room_modifiers.h src/update_data.h src/map.h \ src/texturecache.h src/actiontextbuilder.h \ src/animation.h src/trap.h src/gamecontroller.h \ src/event.h src/effect_util.h src/steam/steamworks_api_wrapper.h \ src/defines.h src/pointer.o: src/pointer.c src/pointer.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/vector2d.h \ src/input.h src/util.h src/particle_engine.h src/position.o: src/position.c src/position.h src/defines.h src/projectile.o: src/projectile.c src/projectile.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h \ src/vector2d.h src/defines.h src/map_room_modifiers.h \ src/input.h src/update_data.h src/player.h \ src/map.h src/gui.h src/config.h \ src/util.h src/texturecache.h src/dimension.h \ src/stats.h src/actiontext.h src/skill.h \ src/linkedlist.h src/artifact.h src/monster.h \ src/doorlocktype.h src/particle_emitter.h src/mixer.h \ src/gamestate.h src/item_builder.h src/item.h \ src/random.h src/object.h src/effect_util.h src/random.o: src/random.c src/time.h src/random.h src/roommatrix.o: src/roommatrix.c src/defines.h src/config.h \ src/roommatrix.h src/position.h src/camera.h \ src/timer.h src/vector2d.h \ src/map_room_modifiers.h src/input.h src/util.h \ src/map.h src/linkedlist.h src/sprite.h src/texture.h \ src/monster.h src/stats.h src/actiontext.h \ src/player.h src/doorlocktype.h src/particle_emitter.h \ src/skill.h src/artifact.h src/object.h \ src/item.h src/update_data.h src/gui.h src/save.o: src/save.c src/save.h src/player.h \ src/sprite.h src/stats.h \ src/actiontext.h src/camera.h src/skill.h \ src/linkedlist.h src/input.h src/artifact.h \ src/db.h src/defines.h src/config.h src/screen.o: src/screen.c src/screen.h src/texture.h \ src/dimension.h \ src/position.h src/camera.h src/linkedlist.h \ src/sprite.h src/roommatrix.h src/timer.h \ src/vector2d.h src/util.h src/hiscore.h \ src/player.h src/stats.h src/actiontext.h \ src/skill.h src/input.h src/screenresolution.o: src/screenresolution.c src/defines.h src/config.h \ src/util.h src/screenresolution.h src/settings.o: src/settings.c src/settings.h src/util.h \ src/defines.h src/config.h src/skill.o: src/skill.c src/texturecache.h src/texture.h \ src/dimension.h src/position.h \ src/camera.h src/skill.h src/roommatrix.h \ src/defines.h src/map_room_modifiers.h src/input.h \ src/sprite.h src/timer.h src/vector2d.h \ src/util.h src/player.h src/stats.h \ src/actiontext.h src/linkedlist.h src/artifact.h \ src/config.h src/monster.h src/doorlocktype.h \ src/particle_emitter.h src/mixer.h src/gamestate.h \ src/gui.h src/random.h src/particle_engine.h \ src/projectile.h src/update_data.h src/map.h \ src/item.h src/animation.h src/trap.h \ src/tooltip.h src/actiontextbuilder.h src/skillbar.o: src/skillbar.c src/defines.h src/config.h \ src/skillbar.h src/linkedlist.h src/camera.h \ src/position.h src/timer.h src/vector2d.h \ src/player.h src/sprite.h src/stats.h \ src/actiontext.h src/skill.h src/input.h \ src/artifact.h src/texture.h \ src/dimension.h src/util.h src/roommatrix.h \ src/map_room_modifiers.h src/keyboard.h src/texturecache.h \ src/particle_engine.h src/update_data.h src/map.h \ src/monster.h src/object.h src/doorlocktype.h src/sprite.o: src/sprite.c src/sprite.h src/texture.h \ src/dimension.h \ src/position.h src/camera.h src/timer.h \ src/vector2d.h src/roommatrix.h src/defines.h \ src/map_room_modifiers.h src/input.h src/util.h \ src/update_data.h src/player.h src/stats.h \ src/actiontext.h src/skill.h src/linkedlist.h \ src/artifact.h src/map.h src/monster.h \ src/object.h src/doorlocktype.h src/sprite_util.o: src/sprite_util.c src/sprite_util.h src/sprite.h \ src/texture.h src/position.h src/camera.h \ src/roommatrix.h src/timer.h src/stats.o: src/stats.c src/gui.h \ src/linkedlist.h src/sprite.h src/texture.h \ src/position.h src/camera.h src/roommatrix.h \ src/timer.h src/vector2d.h src/player.h \ src/stats.h src/actiontext.h src/skill.h \ src/input.h src/artifact.h src/random.h \ src/util.h src/defines.h src/texture.o: src/texture.c src/texture.h \ src/dimension.h src/position.h \ src/camera.h src/timer.h src/vector2d.h \ src/util.h src/texturecache.o: src/texturecache.c src/texturecache.h \ src/texture.h src/dimension.h \ src/position.h src/camera.h src/hashtable.h \ src/defines.h src/config.h src/util.h src/time.o: src/time.c src/time.h src/timer.o: src/timer.c src/util.h src/tooltip.o: src/tooltip.c src/tooltip.h src/camera.h \ src/position.h src/timer.h \ src/vector2d.h src/sprite.h src/texture.h \ src/roommatrix.h src/gui_util.h src/defines.h \ src/config.h src/gui.h src/linkedlist.h \ src/player.h src/stats.h src/actiontext.h \ src/skill.h src/input.h src/artifact.h \ src/texturecache.h src/trap.o: src/trap.c src/trap.h \ src/sprite.h src/texture.h src/position.h \ src/camera.h src/roommatrix.h src/timer.h \ src/player.h src/stats.h src/actiontext.h \ src/skill.h src/linkedlist.h src/input.h \ src/artifact.h src/update_data.h src/map.h \ src/gui.h src/vector2d.h src/util.h \ src/random.h src/util.o: src/util.c src/time.h src/defines.h \ src/config.h src/vector2d.o: src/vector2d.c bh_random/src/bh_random.o: @g++ -c bh_random/src/bh_random.cpp -o bh_random/src/bh_random.o $(CFLAGS) # prepare an archive for the program release: @echo "Creating release files..." @mkdir -p release/breakhack @cp -r release_files/* release/breakhack/ @cp -r data release/breakhack/ @cp -r assets release/breakhack/ @cp breakhack release/breakhack/ @strip release/breakhack/breakhack @cp README.md release/breakhack/ @cp README_Amiga.md release/breakhack/ @cp LICENSE.txt release/breakhack/ @cp CREDITS.md release/breakhack/ @echo "Creating release archive..." @lha -aeqr3 a breakhack-OS4.lha release/ @echo "Clean release files..." @delete release ALL QUIET FORCE