# Makefile for GNU make

.PHONY: all 01_vertex_program 02_vertex_and_fragment_program 03_uniform_parameter 04_varying_parameter 05_texture_sampling 06_vertex_twisting 07_two_texture_accesses 08_vertex_transform 09_vertex_lighting 10_fragment_lighting 11_two_lights_with_structs 12_light_attenuation 13_spotlight 14_bulge 15_particle_system 16_keyframe_interpolation 18_cube_map_reflection 19_cube_map_refraction 20_chromatic_dispersion 21_bump_map_wall 22_specular_bump_map 23_bump_map_floor 24_bump_map_torus 25_uniform_fog 26_toon_shading 27_projective_texturing .DEFAULT 

UNAME := $(shell uname)

all: 01_vertex_program 02_vertex_and_fragment_program 03_uniform_parameter 04_varying_parameter 05_texture_sampling 06_vertex_twisting 07_two_texture_accesses 08_vertex_transform 09_vertex_lighting 10_fragment_lighting 11_two_lights_with_structs 12_light_attenuation 13_spotlight 14_bulge 15_particle_system 16_keyframe_interpolation 18_cube_map_reflection 19_cube_map_refraction 20_chromatic_dispersion 21_bump_map_wall 22_specular_bump_map 23_bump_map_floor 24_bump_map_torus 25_uniform_fog 26_toon_shading 27_projective_texturing 

01_vertex_program:
	$(MAKE) -C 01_vertex_program -f Makefile.01_vertex_program 01_vertex_program

02_vertex_and_fragment_program:
	$(MAKE) -C 02_vertex_and_fragment_program -f Makefile.02_vertex_and_fragment_program 02_vertex_and_fragment_program

03_uniform_parameter:
	$(MAKE) -C 03_uniform_parameter -f Makefile.03_uniform_parameter 03_uniform_parameter

04_varying_parameter:
	$(MAKE) -C 04_varying_parameter -f Makefile.04_varying_parameter 04_varying_parameter

05_texture_sampling:
	$(MAKE) -C 05_texture_sampling -f Makefile.05_texture_sampling 05_texture_sampling

06_vertex_twisting:
	$(MAKE) -C 06_vertex_twisting -f Makefile.06_vertex_twisting 06_vertex_twisting

07_two_texture_accesses:
	$(MAKE) -C 07_two_texture_accesses -f Makefile.07_two_texture_accesses 07_two_texture_accesses

08_vertex_transform:
	$(MAKE) -C 08_vertex_transform -f Makefile.08_vertex_transform 08_vertex_transform

09_vertex_lighting:
	$(MAKE) -C 09_vertex_lighting -f Makefile.09_vertex_lighting 09_vertex_lighting

10_fragment_lighting:
	$(MAKE) -C 10_fragment_lighting -f Makefile.10_fragment_lighting 10_fragment_lighting

11_two_lights_with_structs:
	$(MAKE) -C 11_two_lights_with_structs -f Makefile.11_two_lights_with_structs 11_two_lights_with_structs

12_light_attenuation:
	$(MAKE) -C 12_light_attenuation -f Makefile.12_light_attenuation 12_light_attenuation

13_spotlight:
	$(MAKE) -C 13_spotlight -f Makefile.13_spotlight 13_spotlight

14_bulge:
	$(MAKE) -C 14_bulge -f Makefile.14_bulge 14_bulge

15_particle_system:
	$(MAKE) -C 15_particle_system -f Makefile.15_particle_system 15_particle_system

16_keyframe_interpolation:
	$(MAKE) -C 16_keyframe_interpolation -f Makefile.16_keyframe_interpolation 16_keyframe_interpolation

18_cube_map_reflection:
	$(MAKE) -C 18_cube_map_reflection -f Makefile.18_cube_map_reflection 18_cube_map_reflection

19_cube_map_refraction:
	$(MAKE) -C 19_cube_map_refraction -f Makefile.19_cube_map_refraction 19_cube_map_refraction

20_chromatic_dispersion:
	$(MAKE) -C 20_chromatic_dispersion -f Makefile.20_chromatic_dispersion 20_chromatic_dispersion

21_bump_map_wall:
	$(MAKE) -C 21_bump_map_wall -f Makefile.21_bump_map_wall 21_bump_map_wall

22_specular_bump_map:
	$(MAKE) -C 22_specular_bump_map -f Makefile.22_specular_bump_map 22_specular_bump_map

23_bump_map_floor:
	$(MAKE) -C 23_bump_map_floor -f Makefile.23_bump_map_floor 23_bump_map_floor

24_bump_map_torus:
	$(MAKE) -C 24_bump_map_torus -f Makefile.24_bump_map_torus 24_bump_map_torus

25_uniform_fog:
	$(MAKE) -C 25_uniform_fog -f Makefile.25_uniform_fog 25_uniform_fog

26_toon_shading:
	$(MAKE) -C 26_toon_shading -f Makefile.26_toon_shading 26_toon_shading

27_projective_texturing:
	$(MAKE) -C 27_projective_texturing -f Makefile.27_projective_texturing 27_projective_texturing

.DEFAULT:
	$(MAKE) -C 01_vertex_program -f Makefile.01_vertex_program $@
	$(MAKE) -C 02_vertex_and_fragment_program -f Makefile.02_vertex_and_fragment_program $@
	$(MAKE) -C 03_uniform_parameter -f Makefile.03_uniform_parameter $@
	$(MAKE) -C 04_varying_parameter -f Makefile.04_varying_parameter $@
	$(MAKE) -C 05_texture_sampling -f Makefile.05_texture_sampling $@
	$(MAKE) -C 06_vertex_twisting -f Makefile.06_vertex_twisting $@
	$(MAKE) -C 07_two_texture_accesses -f Makefile.07_two_texture_accesses $@
	$(MAKE) -C 08_vertex_transform -f Makefile.08_vertex_transform $@
	$(MAKE) -C 09_vertex_lighting -f Makefile.09_vertex_lighting $@
	$(MAKE) -C 10_fragment_lighting -f Makefile.10_fragment_lighting $@
	$(MAKE) -C 11_two_lights_with_structs -f Makefile.11_two_lights_with_structs $@
	$(MAKE) -C 12_light_attenuation -f Makefile.12_light_attenuation $@
	$(MAKE) -C 13_spotlight -f Makefile.13_spotlight $@
	$(MAKE) -C 14_bulge -f Makefile.14_bulge $@
	$(MAKE) -C 15_particle_system -f Makefile.15_particle_system $@
	$(MAKE) -C 16_keyframe_interpolation -f Makefile.16_keyframe_interpolation $@
	$(MAKE) -C 18_cube_map_reflection -f Makefile.18_cube_map_reflection $@
	$(MAKE) -C 19_cube_map_refraction -f Makefile.19_cube_map_refraction $@
	$(MAKE) -C 20_chromatic_dispersion -f Makefile.20_chromatic_dispersion $@
	$(MAKE) -C 21_bump_map_wall -f Makefile.21_bump_map_wall $@
	$(MAKE) -C 22_specular_bump_map -f Makefile.22_specular_bump_map $@
	$(MAKE) -C 23_bump_map_floor -f Makefile.23_bump_map_floor $@
	$(MAKE) -C 24_bump_map_torus -f Makefile.24_bump_map_torus $@
	$(MAKE) -C 25_uniform_fog -f Makefile.25_uniform_fog $@
	$(MAKE) -C 26_toon_shading -f Makefile.26_toon_shading $@
	$(MAKE) -C 27_projective_texturing -f Makefile.27_projective_texturing $@

