Files
my_glut/Makefile
2026-03-13 16:48:03 +01:00

140 lines
4.6 KiB
Makefile

include external.mk
include ${ARCH}_BUILD/variables.mk
GENERIC_TARGET_DEMO=demo.exe #will create a demo for testing the functionalities implemented by the lib
GENERIC_TARGET_LIB=libmyGLUT.so.0 #will create a shared lib
FLAVORED_TARGET_DEMO=${BD}${GENERIC_TARGET_DEMO}
FLAVORED_TARGET_LIB=${BD}${GENERIC_TARGET_LIB}
LIB_OBJECTS=${BD}glut.o ${BD}glut_extensions.o ${BD}glut_timers.o ${BD}glut_input.o ${BD}glut_graphics.o ${BD}glut_backend.o ${BD}backend_resources/xdg-shell.o \
${BD}input/input_events.o ${BD}input/touch/touch_data.o ${BD}input/touch/touch_controller_L1_builder.o \
${BD}input/touch/touch_controller_L2.o ${BD}input/touch/touch_controller_L3.o ${BD}input/touch/touch_controller_L3_deltas_compute.o
OBJECTS=${BD}demo.o ${LIB_OBJECTS}
all:
make ${GENERIC_TARGET_DEMO}
make ${GENERIC_TARGET_LIB}
${GENERIC_TARGET_DEMO}:
make ${FLAVORED_TARGET_DEMO}
${GENERIC_TARGET_LIB}:
make ${FLAVORED_TARGET_LIB}
${FLAVORED_TARGET_DEMO} : ${OBJECTS}
${COMPILER} \
-Wl,-unresolved-symbols=ignore-in-shared-libs \
-o ${FLAVORED_TARGET_DEMO} \
${OBJECTS} \
-L${MY_INPUT_LIBRARY} -L${WAYLAND_LIBRARIES} -L${EGL_LIBRARIES} \
${LINKS_0} ${LINKS_1}
# links as last argument !!!
${FLAVORED_TARGET_LIB} : ${LIB_OBJECTS}
${COMPILER} \
-fPIC \
-shared \
-Wl,-soname,${GENERIC_TARGET_LIB} \
-Wl,-unresolved-symbols=ignore-in-shared-libs \
-o ${FLAVORED_TARGET_LIB} \
${LIB_OBJECTS} \
-L${MY_INPUT_LIBRARY} -L${WAYLAND_LIBRARIES} -L${EGL_LIBRARIES} \
${LINKS_0} ${LINKS_1}
${BD}demo.o : ${SD}demo.c ${HD}glut.h
${COMPILER} \
-o ${BD}demo.o \
-c ${CFLAGS} ${SD}demo.c
${BD}glut.o : ${SD}glut.c ${HD}glut.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}glut.o \
-c ${CFLAGS} ${SD}glut.c
${BD}glut_extensions.o : ${SD}glut_extensions.c ${HD}glut_extensions.h ${HD}input/touch/touch_data.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}glut_extensions.o \
-c ${CFLAGS} ${SD}glut_extensions.c
${BD}glut_timers.o : ${SD}glut_timers.c ${HD}glut_timers.h
${COMPILER} \
-o ${BD}glut_timers.o \
-c ${CFLAGS} ${EXTRA_COMPILATION_FLAGS} ${SD}glut_timers.c
${BD}glut_input.o : ${SD}glut_input.c ${HD}glut_input.h ${HD}input/input_events.h ${HD}input/touch/touch_controller_L2.h ${HD}input/touch/touch_controller_L3.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}glut_input.o \
-c ${CFLAGS} ${SD}glut_input.c
${BD}glut_graphics.o : ${SD}glut_graphics.c ${HD}glut_graphics.h
${COMPILER} \
-o ${BD}glut_graphics.o \
-c ${CFLAGS} ${SD}glut_graphics.c
${BD}glut_backend.o : ${SD}glut_backend.c ${HD}glut_backend.h ${HD}backend_resources/xdg-shell.h
${COMPILER} \
${I_EGL} \
${I_WAYLAND} \
${I_MY_INPUT} \
-o ${BD}glut_backend.o \
-c ${CFLAGS} ${SD}glut_backend.c
# there was something about the need to apply GLOBAL_COMPILE_CONF (disable stack-protection) to each unit?
${BD}backend_resources/xdg-shell.o : ${SD}backend_resources/xdg-shell.c ${HD}backend_resources/xdg-shell.h
${COMPILER} \
${I_WAYLAND} \
-o ${BD}backend_resources/xdg-shell.o \
-c ${CFLAGS} ${SD}backend_resources/xdg-shell.c
${BD}input/input_events.o : ${SD}input/input_events.c ${HD}input/input_events.h ${HD}input/touch/touch_controller_L1_builder.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/input_events.o \
-c ${CFLAGS} ${SD}input/input_events.c
${BD}input/touch/touch_data.o : ${SD}input/touch/touch_data.c ${HD}input/touch/touch_data.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/touch/touch_data.o \
-c ${CFLAGS} ${SD}input/touch/touch_data.c
${BD}input/touch/touch_controller_L1_builder.o : ${SD}input/touch/touch_controller_L1_builder.c ${HD}input/touch/touch_controller_L1_builder.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/touch/touch_controller_L1_builder.o \
-c ${CFLAGS} ${SD}input/touch/touch_controller_L1_builder.c
${BD}input/touch/touch_controller_L2.o : ${SD}input/touch/touch_controller_L2.c ${HD}input/touch/touch_controller_L2.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/touch/touch_controller_L2.o \
-c ${CFLAGS} ${SD}input/touch/touch_controller_L2.c
${BD}input/touch/touch_controller_L3.o : ${SD}input/touch/touch_controller_L3.c ${HD}input/touch/touch_controller_L3.h ${HD}input/touch/touch_controller_L3_deltas_compute.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/touch/touch_controller_L3.o \
-c ${CFLAGS} ${SD}input/touch/touch_controller_L3.c
${BD}input/touch/touch_controller_L3_deltas_compute.o : ${SD}input/touch/touch_controller_L3_deltas_compute.c ${HD}input/touch/touch_controller_L3_deltas_compute.h
${COMPILER} \
${I_MY_INPUT} \
-o ${BD}input/touch/touch_controller_L3_deltas_compute.o \
-c ${CFLAGS} ${SD}input/touch/touch_controller_L3_deltas_compute.c
.PHONY: clean
clean:
-rm ${FLAVORED_TARGET_DEMO} ${FLAVORED_TARGET_LIB} ${OBJECTS} *~ core