include ../external.mk S=${PWD}GL_STUFF/SOURCES/ H=${PWD}GL_STUFF/HEADERS/ O=${PWD}GL_STUFF/OBJECTS/ _U=UTILS/ _S=SCENE/ _E=EFFECTS/ _C=CURVES/ COMPATIBILITY_OBJECT=GLES_3_1_compatibility.o UTILS_OBJECTS=${O}${_U}ClockIterator.o ${O}${_U}OnlyOnce.o ${O}${_U}ResourceCache.o ${O}${_U}ShaderMaker.o SCENE_OBJECTS=${O}${_S}Camera.o ${O}${_S}Instance3D.o ${O}${_S}InstancesLoader.o ${O}${_S}Model3D.o ${O}${_S}ObjectInstance.o ${O}${_S}objloader.o ${O}${_S}ShadingHelper.o # THE PLATFORM SUPPORTS UP TO GLES2 AND COMPUTE SHADERS COME WITH GLES3.1 # REMOVED # ${O}${_E}CRT_shader.o EFFECTS_OBJECTS=${O}${_E}PseudoContext.o ${O}${_E}ReelManager.o ${O}${_E}Scene.o ${O}${_E}Screen.o ${O}${_E}TexMerger.o CURVES_OBJECTS=${O}${_C}Bezier.o ${O}${_C}Curve.o ${O}${_C}CurveIterator.o ${O}${_C}CurvesLoader.o ${O}${_C}Hermite.o ${O}${_C}NURBS.o OBJECTS=${COMPATIBILITY_OBJECT} ${UTILS_OBJECTS} ${SCENE_OBJECTS} ${EFFECTS_OBJECTS} ${CURVES_OBJECTS} CFLAGS=-ansi -Wpedantic -Winline -Werror -std=c++11 # c11 all: make ${OBJECTS} # COMPATIBILITY OBJECT GLES_3_1_compatibility.o : GLES_3_1_compatibility.c GLES_3_1_compatibility.h ${HEADERS}GLES2/gl2.h ${HEADERS}GLES2/gl2ext.h ${C_COMPILER} \ ${I_GRAPHICS} \ -o GLES_3_1_compatibility.o \ -c -ansi -Wpedantic -Winline -Werror -std=c99 \ GLES_3_1_compatibility.c \ ${GLOBAL_COMPILE_CONF} # UTILS ${O}${_U}ClockIterator.o : ${S}${_U}ClockIterator.cpp ${H}${_U}ClockIterator.hpp ${CPP_COMPILER} \ -o ${O}${_U}ClockIterator.o \ -c ${CFLAGS} ${S}${_U}ClockIterator.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_U}OnlyOnce.o : ${S}${_U}OnlyOnce.cpp ${H}${_U}OnlyOnce.hpp ${H}${_U}stb_image.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ -o ${O}${_U}OnlyOnce.o \ -c ${CFLAGS} ${S}${_U}OnlyOnce.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_U}ResourceCache.o : ${S}${_U}ResourceCache.cpp ${H}${_U}ResourceCache.h ${H}${_U}ShaderMaker.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ -o ${O}${_U}ResourceCache.o \ -c ${CFLAGS} ${S}${_U}ResourceCache.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_U}ShaderMaker.o : ${S}${_U}ShaderMaker.cpp ${H}${_U}ShaderMaker.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ -o ${O}${_U}ShaderMaker.o \ -c ${CFLAGS} ${S}${_U}ShaderMaker.cpp \ ${GLOBAL_COMPILE_CONF} # SCENE ${O}${_S}Camera.o : ${S}${_S}Camera.cpp ${H}${_S}Camera.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_MY_GLUT} \ -o ${O}${_S}Camera.o \ -c ${CFLAGS} ${S}${_S}Camera.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}Instance3D.o : ${S}${_S}Instance3D.cpp ${H}${_S}Instance3D.h ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_GRAPHICS} \ -o ${O}${_S}Instance3D.o \ -c ${CFLAGS} ${S}${_S}Instance3D.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}InstancesLoader.o : ${S}${_S}InstancesLoader.cpp ${H}${_S}InstancesLoader.h ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_GRAPHICS} \ -o ${O}${_S}InstancesLoader.o \ -c ${CFLAGS} ${S}${_S}InstancesLoader.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}ObjectInstance.o : ${S}${_S}ObjectInstance.cpp ${H}${_S}ObjectInstance.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_GRAPHICS} \ -o ${O}${_S}ObjectInstance.o \ -c ${CFLAGS} ${S}${_S}ObjectInstance.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}objloader.o : ${S}${_S}objloader.cpp ${H}${_S}objloader.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_S}objloader.o \ -c ${CFLAGS} ${S}${_S}objloader.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}Model3D.o : ${S}${_S}Model3D.cpp ${H}${_S}Model3D.hpp \ ${H}${_U}OnlyOnce.hpp ${H}${_U}ShaderMaker.h ${H}${_S}objloader.hpp \ ${H}${_U}ResourceCache.h \ ./GLES_3_1_compatibility.h ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_GRAPHICS} \ -o ${O}${_S}Model3D.o \ -c ${CFLAGS} ${S}${_S}Model3D.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_S}ShadingHelper.o : ${S}${_S}ShadingHelper.cpp ${H}${_S}ShadingHelper.h ${CPP_COMPILER} \ ${I_CGI_MATH} \ ${I_GRAPHICS} \ -o ${O}${_S}ShadingHelper.o \ -c ${CFLAGS} ${S}${_S}ShadingHelper.cpp \ ${GLOBAL_COMPILE_CONF} #EFFECTS # THE PLATFORM SUPPORTS UP TO GLES2 AND COMPUTE SHADERS COME WITH GLES3.1 # # ${O}${_E}CRT_shader.o : ${S}${_E}CRT_shader.cpp ${H}${_E}CRT_shader.h ${H}${_U}ShaderMaker.h # ${COMPILER} \ # ${I_CGI_MATH} \ # ${I_GRAPHICS} \ # -o ${O}${_E}CRT_shader.o \ # -c ${CFLAGS} ${S}${_E}CRT_shader.cpp \ # ${GLOBAL_COMPILE_CONF} ${O}${_E}PseudoContext.o : ${S}${_E}PseudoContext.cpp ${H}${_E}PseudoContext.h ${CPP_COMPILER} \ -o ${O}${_E}PseudoContext.o \ -c ${CFLAGS} ${S}${_E}PseudoContext.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_E}ReelManager.o : ${S}${_E}ReelManager.cpp ${H}${_E}ReelManager.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ -o ${O}${_E}ReelManager.o \ -c ${CFLAGS} ${S}${_E}ReelManager.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_E}Scene.o : ${S}${_E}Scene.cpp ${H}${_E}Scene.h ./GLES_3_1_compatibility.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ ${I_MY_GLUT} \ ${I_CGI_MATH} \ -o ${O}${_E}Scene.o \ -c ${CFLAGS} ${S}${_E}Scene.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_E}Screen.o : ${S}${_E}Screen.cpp ${H}${_E}Screen.h ${H}${_U}ShaderMaker.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ ${I_MY_GLUT} \ ${I_CGI_MATH} \ -o ${O}${_E}Screen.o \ -c ${CFLAGS} ${S}${_E}Screen.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_E}TexMerger.o : ${S}${_E}TexMerger.cpp ${H}${_E}TexMerger.h ${H}${_U}ShaderMaker.h ${CPP_COMPILER} \ ${I_GRAPHICS} \ ${I_CGI_MATH} \ -o ${O}${_E}TexMerger.o \ -c ${CFLAGS} ${S}${_E}TexMerger.cpp \ ${GLOBAL_COMPILE_CONF} #CURVES ${O}${_C}Bezier.o : ${S}${_C}Bezier.cpp ${H}${_C}Bezier.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}Bezier.o \ -c ${CFLAGS} ${S}${_C}Bezier.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_C}Curve.o : ${S}${_C}Curve.cpp ${H}${_C}Curve.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}Curve.o \ -c ${CFLAGS} ${S}${_C}Curve.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_C}CurveIterator.o : ${S}${_C}CurveIterator.cpp ${H}${_C}CurveIterator.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}CurveIterator.o \ -c ${CFLAGS} ${S}${_C}CurveIterator.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_C}CurvesLoader.o : ${S}${_C}CurvesLoader.cpp ${H}${_C}CurvesLoader.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}CurvesLoader.o \ -c ${CFLAGS} ${S}${_C}CurvesLoader.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_C}Hermite.o : ${S}${_C}Hermite.cpp ${H}${_C}Hermite.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}Hermite.o \ -c ${CFLAGS} ${S}${_C}Hermite.cpp \ ${GLOBAL_COMPILE_CONF} ${O}${_C}NURBS.o : ${S}${_C}NURBS.cpp ${H}${_C}NURBS.hpp ${CPP_COMPILER} \ ${I_CGI_MATH} \ -o ${O}${_C}NURBS.o \ -c ${CFLAGS} ${S}${_C}NURBS.cpp \ ${GLOBAL_COMPILE_CONF} .PHONY: clean clean: -rm ${OBJECTS} *~ core