Files
rez_demo/sources/GL_STUFF/Makefile
beno bbede61723 updated makefile for supporting different target architectures
use "ARCH=arch_name make"

restructured project folder, implementations and headers together under sources/
2026-03-16 00:10:52 +01:00

229 lines
6.5 KiB
Makefile

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