A hackable template for creating small and fast browser games.
1COMPONENTS := \
2 com_animate_sprite.html \
3 com_animate.html \
4 com_audio_listener.html \
5 com_audio_source.html \
6 com_callback.html \
7 com_camera.html \
8 com_camera2d.html \
9 com_children.html \
10 com_collide.html \
11 com_collide2d.html \
12 com_control_always.html \
13 com_control_always2d.html \
14 com_control_player.html \
15 com_disable.html \
16 com_draw.html \
17 com_emit_particles.html \
18 com_follow.html \
19 com_lifespan.html \
20 com_light.html \
21 com_local_transform2d.html \
22 com_look_at.html \
23 com_mimic.html \
24 com_move.html \
25 com_move2d.html \
26 com_named.html \
27 com_render.html \
28 com_render2d.html \
29 com_rigid_body.html \
30 com_rigid_body2d.html \
31 com_shake.html \
32 com_spatial_node2d.html \
33 com_spawn.html \
34 com_task.html \
35 com_toggle.html \
36 com_transform.html \
37 com_trigger.html
38
39SYSTEMS := \
40 sys_animate.html \
41 sys_audio_listener.html \
42 sys_audio_source.html \
43 sys_camera_xr.html \
44 sys_camera.html \
45 sys_camera2d.html \
46 sys_collide.html \
47 sys_collide2d.html \
48 sys_control_always.html \
49 sys_control_always2d.html \
50 sys_control_keyboard.html \
51 sys_control_mouse_drag.html \
52 sys_control_mouse_move.html \
53 sys_control_touch_drag.html \
54 sys_control_touch_move.html \
55 sys_control_xbox.html \
56 sys_debug.html \
57 sys_draw.html \
58 sys_draw2d.html \
59 sys_follow.html \
60 sys_lifespan.html \
61 sys_light.html \
62 sys_look_at.html \
63 sys_mimic.html \
64 sys_move.html \
65 sys_move2d.html \
66 sys_particles.html \
67 sys_physics_integrate.html \
68 sys_physics_kinematic.html \
69 sys_physics_resolve.html \
70 sys_physics2d_integrate.html \
71 sys_physics2d_resolve.html \
72 sys_poll.html \
73 sys_render_deferred.html \
74 sys_render_depth.html \
75 sys_render_forward.html \
76 sys_render_shading.html \
77 sys_render_xr.html \
78 sys_render2d_animate.html \
79 sys_render2d.html \
80 sys_resize.html \
81 sys_resize2d.html \
82 sys_shake.html \
83 sys_shake2d.html \
84 sys_spawn.html \
85 sys_spawn2d.html \
86 sys_toggle.html \
87 sys_transform.html \
88 sys_transform2d.html \
89 sys_trigger.html \
90 sys_trigger2d.html \
91 sys_ui.html
92
93LIBRARIES := \
94 lib_aabb.html \
95 lib_aabb2d.html \
96 lib_audio.html \
97 lib_color.html \
98 lib_easing.html \
99 lib_framebuffer.html \
100 lib_game.html \
101 lib_html.html \
102 lib_input.html \
103 lib_load.html \
104 lib_mat2d.html \
105 lib_mat4.html \
106 lib_material.html \
107 lib_math.html \
108 lib_mesh.html \
109 lib_navmesh.html \
110 lib_number.html \
111 lib_pathfind.html \
112 lib_projection.html \
113 lib_projection2d.html \
114 lib_quat.html \
115 lib_random.html \
116 lib_raycast.html \
117 lib_texture.html \
118 lib_vec2.html \
119 lib_vec3.html \
120 lib_vec4.html \
121 lib_webgl.html \
122 lib_world.html
123
124UTILITIES := \
125 tiled_tmj2map.html \
126 tiled_tsj2atlas.html
127
128all: index.html $(COMPONENTS) $(SYSTEMS) $(LIBRARIES) $(UTILITIES)
129
130index.html: Makefile generate_index.mjs $(COMPONENTS) $(SYSTEMS) $(LIBRARIES) $(UTILITIES)
131 node generate_index.mjs \
132 $(COMPONENTS:com_%.html=--component com_%.html) \
133 $(SYSTEMS:sys_%.html=--system sys_%.html) \
134 $(LIBRARIES:lib_%.html=--library lib_%.html) \
135 $(UTILITIES:%.html=--utility %.html) \
136 > $@
137
138com_%.html: ../core/components/com_%.ts generate_reference.mjs
139 node generate_reference.mjs $< \
140 $(COMPONENTS:com_%.html=--component com_%.html) \
141 $(SYSTEMS:sys_%.html=--system sys_%.html) \
142 $(LIBRARIES:lib_%.html=--library lib_%.html) \
143 $(UTILITIES:%.html=--utility %.html) \
144 > $@
145
146sys_%.html: ../core/systems/sys_%.ts generate_reference.mjs
147 node generate_reference.mjs $< \
148 $(COMPONENTS:com_%.html=--component com_%.html) \
149 $(SYSTEMS:sys_%.html=--system sys_%.html) \
150 $(LIBRARIES:lib_%.html=--library lib_%.html) \
151 $(UTILITIES:%.html=--utility %.html) \
152 > $@
153
154lib_%.html: ../lib/%.ts generate_reference.mjs
155 node generate_reference.mjs $< \
156 $(COMPONENTS:com_%.html=--component com_%.html) \
157 $(SYSTEMS:sys_%.html=--system sys_%.html) \
158 $(LIBRARIES:lib_%.html=--library lib_%.html) \
159 $(UTILITIES:%.html=--utility %.html) \
160 > $@
161
162$(UTILITIES): %.html: ../util/%.cjs generate_reference.mjs
163 node generate_reference.mjs $< \
164 $(COMPONENTS:com_%.html=--component com_%.html) \
165 $(SYSTEMS:sys_%.html=--system sys_%.html) \
166 $(LIBRARIES:lib_%.html=--library lib_%.html) \
167 $(UTILITIES:%.html=--utility %.html) \
168 > $@
169
170.PHONY: clean
171clean:
172 rm -f *.html