-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
190 lines (176 loc) · 9.01 KB
/
Copy pathMakefile
File metadata and controls
190 lines (176 loc) · 9.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
NAME = icrogue
SRC_DIR = src
SRCS = $(SRC_DIR)/icrogue/ICRogue.java \
$(SRC_DIR)/icrogue/ICRogueBehavior.java \
$(SRC_DIR)/icrogue/ICRogueKeybinds.java \
$(SRC_DIR)/icrogue/MenuScreens/ICRogueGameOverMenu.java \
$(SRC_DIR)/icrogue/MenuScreens/ICRoguePauseMenu.java \
$(SRC_DIR)/icrogue/MenuScreens/ICRogueWonMenu.java \
$(SRC_DIR)/icrogue/Play.java \
$(SRC_DIR)/icrogue/RandomHelper.java \
$(SRC_DIR)/icrogue/actor/Connector.java \
$(SRC_DIR)/icrogue/actor/ICRogueActor.java \
$(SRC_DIR)/icrogue/actor/ICRogueGraphics.java \
$(SRC_DIR)/icrogue/actor/ICRoguePlayer.java \
$(SRC_DIR)/icrogue/actor/enemies/DarkLord.java \
$(SRC_DIR)/icrogue/actor/enemies/Enemy.java \
$(SRC_DIR)/icrogue/actor/enemies/FlameSkull.java \
$(SRC_DIR)/icrogue/actor/enemies/Turret.java \
$(SRC_DIR)/icrogue/actor/friendlyNPC/NinjaPNJ.java \
$(SRC_DIR)/icrogue/actor/items/Cherry.java \
$(SRC_DIR)/icrogue/actor/items/FireStaff.java \
$(SRC_DIR)/icrogue/actor/items/Heart.java \
$(SRC_DIR)/icrogue/actor/items/Item.java \
$(SRC_DIR)/icrogue/actor/items/Key.java \
$(SRC_DIR)/icrogue/actor/items/PlayerUsingWeapon.java \
$(SRC_DIR)/icrogue/actor/items/WaterStaff.java \
$(SRC_DIR)/icrogue/actor/items/Weapon.java \
$(SRC_DIR)/icrogue/actor/projectiles/Arrow.java \
$(SRC_DIR)/icrogue/actor/projectiles/Consumable.java \
$(SRC_DIR)/icrogue/actor/projectiles/FireBall.java \
$(SRC_DIR)/icrogue/actor/projectiles/Projectile.java \
$(SRC_DIR)/icrogue/actor/projectiles/WaterBall.java \
$(SRC_DIR)/icrogue/area/ConnectorInRoom.java \
$(SRC_DIR)/icrogue/area/ICRogueRoom.java \
$(SRC_DIR)/icrogue/area/Level.java \
$(SRC_DIR)/icrogue/area/level0/Level0.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0BossRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0CherryRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0EnemyRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0FireStaffRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0ItemRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0KeyRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0Room.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0TurretRoom.java \
$(SRC_DIR)/icrogue/area/level0/rooms/Level0WaterStaffRoom.java \
$(SRC_DIR)/icrogue/engine/game/DragHelper.java \
$(SRC_DIR)/icrogue/engine/game/Game.java \
$(SRC_DIR)/icrogue/engine/game/PauseMenu.java \
$(SRC_DIR)/icrogue/engine/game/Playable.java \
$(SRC_DIR)/icrogue/engine/game/Updatable.java \
$(SRC_DIR)/icrogue/engine/game/actor/Acoustics.java \
$(SRC_DIR)/icrogue/engine/game/actor/Actor.java \
$(SRC_DIR)/icrogue/engine/game/actor/Draggable.java \
$(SRC_DIR)/icrogue/engine/game/actor/Droppable.java \
$(SRC_DIR)/icrogue/engine/game/actor/Entity.java \
$(SRC_DIR)/icrogue/engine/game/actor/Graphics.java \
$(SRC_DIR)/icrogue/engine/game/actor/GraphicsEntity.java \
$(SRC_DIR)/icrogue/engine/game/actor/ImageGraphics.java \
$(SRC_DIR)/icrogue/engine/game/actor/ShapeGraphics.java \
$(SRC_DIR)/icrogue/engine/game/actor/SoundAcoustics.java \
$(SRC_DIR)/icrogue/engine/game/actor/TextGraphics.java \
$(SRC_DIR)/icrogue/engine/game/areagame/Area.java \
$(SRC_DIR)/icrogue/engine/game/areagame/AreaBehavior.java \
$(SRC_DIR)/icrogue/engine/game/areagame/AreaGame.java \
$(SRC_DIR)/icrogue/engine/game/areagame/AreaGraph.java \
$(SRC_DIR)/icrogue/engine/game/areagame/AreaPauseMenu.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Animation.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/AreaEntity.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Background.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/CellMouseIndicator.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/CollectableAreaEntity.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/DraggableAreaEntity.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Foreground.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Grid.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Interactable.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Interactor.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/MovableAreaEntity.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Orientation.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Path.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Sprite.java \
$(SRC_DIR)/icrogue/engine/game/areagame/actor/Text.java \
$(SRC_DIR)/icrogue/engine/game/areagame/handler/AreaInteractionVisitor.java \
$(SRC_DIR)/icrogue/engine/game/areagame/io/ResourcePath.java \
$(SRC_DIR)/icrogue/engine/io/DefaultFileSystem.java \
$(SRC_DIR)/icrogue/engine/io/FileSystem.java \
$(SRC_DIR)/icrogue/engine/io/FolderFileSystem.java \
$(SRC_DIR)/icrogue/engine/io/ResourceFileSystem.java \
$(SRC_DIR)/icrogue/engine/io/XMLTexts.java \
$(SRC_DIR)/icrogue/engine/io/ZipFileSystem.java \
$(SRC_DIR)/icrogue/engine/math/Attachable.java \
$(SRC_DIR)/icrogue/engine/math/Circle.java \
$(SRC_DIR)/icrogue/engine/math/DiscreteCoordinates.java \
$(SRC_DIR)/icrogue/engine/math/Node.java \
$(SRC_DIR)/icrogue/engine/math/Polygon.java \
$(SRC_DIR)/icrogue/engine/math/Polyline.java \
$(SRC_DIR)/icrogue/engine/math/Positionable.java \
$(SRC_DIR)/icrogue/engine/math/RandomEvent.java \
$(SRC_DIR)/icrogue/engine/math/RandomGenerator.java \
$(SRC_DIR)/icrogue/engine/math/RegionOfInterest.java \
$(SRC_DIR)/icrogue/engine/math/Shape.java \
$(SRC_DIR)/icrogue/engine/math/TextAlign.java \
$(SRC_DIR)/icrogue/engine/math/Transform.java \
$(SRC_DIR)/icrogue/engine/math/Vector.java \
$(SRC_DIR)/icrogue/engine/recorder/Record.java \
$(SRC_DIR)/icrogue/engine/recorder/RecordReplayer.java \
$(SRC_DIR)/icrogue/engine/recorder/Recorder.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/KeyboardPressedRecordEntry.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/KeyboardReleasedRecordEntry.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/MouseButtonPressedRecordEntry.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/MouseButtonReleasedRecordEntry.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/MouseMoveRecordEntry.java \
$(SRC_DIR)/icrogue/engine/recorder/recordEntry/RecordEntry.java \
$(SRC_DIR)/icrogue/engine/signal/Numeric.java \
$(SRC_DIR)/icrogue/engine/signal/Signal.java \
$(SRC_DIR)/icrogue/engine/signal/logic/And.java \
$(SRC_DIR)/icrogue/engine/signal/logic/Logic.java \
$(SRC_DIR)/icrogue/engine/signal/logic/LogicGate.java \
$(SRC_DIR)/icrogue/engine/signal/logic/LogicNumber.java \
$(SRC_DIR)/icrogue/engine/signal/logic/MultipleAnd.java \
$(SRC_DIR)/icrogue/engine/signal/logic/Nand.java \
$(SRC_DIR)/icrogue/engine/signal/logic/Not.java \
$(SRC_DIR)/icrogue/engine/signal/logic/Or.java \
$(SRC_DIR)/icrogue/engine/signal/logic/Xor.java \
$(SRC_DIR)/icrogue/engine/signal/wave/Sawtooth.java \
$(SRC_DIR)/icrogue/engine/signal/wave/Sine.java \
$(SRC_DIR)/icrogue/engine/signal/wave/Square.java \
$(SRC_DIR)/icrogue/engine/signal/wave/Triangle.java \
$(SRC_DIR)/icrogue/engine/signal/wave/Waveform.java \
$(SRC_DIR)/icrogue/engine/window/Audio.java \
$(SRC_DIR)/icrogue/engine/window/Button.java \
$(SRC_DIR)/icrogue/engine/window/Canvas.java \
$(SRC_DIR)/icrogue/engine/window/Image.java \
$(SRC_DIR)/icrogue/engine/window/Keyboard.java \
$(SRC_DIR)/icrogue/engine/window/Mouse.java \
$(SRC_DIR)/icrogue/engine/window/Sound.java \
$(SRC_DIR)/icrogue/engine/window/Window.java \
$(SRC_DIR)/icrogue/engine/window/swing/ImageItem.java \
$(SRC_DIR)/icrogue/engine/window/swing/Item.java \
$(SRC_DIR)/icrogue/engine/window/swing/ShapeItem.java \
$(SRC_DIR)/icrogue/engine/window/swing/SoundItem.java \
$(SRC_DIR)/icrogue/engine/window/swing/SwingImage.java \
$(SRC_DIR)/icrogue/engine/window/swing/SwingSound.java \
$(SRC_DIR)/icrogue/engine/window/swing/SwingWindow.java \
$(SRC_DIR)/icrogue/engine/window/swing/TextItem.java \
$(SRC_DIR)/icrogue/handler/ICRogueInteractionHandler.java
RES_DIR = assets
OUT_DIR = out
MAIN_CLASS = icrogue.Play
JAVAC = javac
JAVACFLAGS = -d $(OUT_DIR) -encoding UTF-8
RM = rm -f
all: $(NAME)
$(NAME): $(SRCS)
@echo "Compiling $(NAME)..."
@mkdir -p $(OUT_DIR)
@$(JAVAC) $(JAVACFLAGS) $(SRCS)
@echo '#!/usr/bin/env bash' > $(NAME)
@echo 'java -cp "$(OUT_DIR):$(RES_DIR)" $(MAIN_CLASS) "$$@"' >> $(NAME)
@chmod +x $(NAME)
@echo "Build complete! Run with ./$(NAME)"
run: $(NAME)
./$(NAME) random
classic: $(NAME)
./$(NAME) classic
debug: $(NAME)
./$(NAME) debug
clean:
@echo "Cleaning compiled classes..."
@$(RM) -r $(OUT_DIR)
@echo "Clean done."
fclean: clean
@echo "Removing $(NAME)..."
@$(RM) $(NAME)
@echo "Full clean done."
re: fclean all
.PHONY: all run classic debug clean fclean re