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