[build] Create static libs for render targets

The static libs are used to build the plugins, but make it easy to use
only those modules needed for tests. Fixes the link error when running
"make check" with non-static plugins.
This commit is contained in:
Bill Currie 2021-03-03 13:04:26 +09:00
parent 22c0bec03a
commit 9617bbef97
4 changed files with 44 additions and 7 deletions

View file

@ -41,6 +41,7 @@ if test "x$HAVE_FBDEV" = xyes; then
CL_TARGETS="$CL_TARGETS FBDEV"
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFfbdev.la"
QF_NEED(vid_render, [sw])
QF_NEED(render, [sw])
QF_NEED(models, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
@ -73,6 +74,7 @@ if test "x$HAVE_X" = xyes; then
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFx11.la"
if test "$HAVE_VULKAN" = "yes"; then
QF_NEED(vid_render, [vulkan])
QF_NEED(render, [vulkan])
QF_NEED(models, [vulkan])
QF_NEED(alias, [vulkan])
QF_NEED(brush, [vulkan])
@ -80,6 +82,7 @@ if test "x$HAVE_X" = xyes; then
QF_NEED(sprite, [vulkan])
fi
QF_NEED(vid_render, [sw sw32 gl glsl])
QF_NEED(render, [sw sw32 gl glsl])
QF_NEED(models, [sw gl glsl])
QF_NEED(alias, [sw gl glsl])
QF_NEED(brush, [sw gl glsl])
@ -105,12 +108,14 @@ if test "x$HAVE_SDL" = xyes; then
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFsdl.la"
if test "$HAVE_VULKAN" = "yes"; then
QF_NEED(vid_render, [vulkan])
QF_NEED(render, [vulkan])
QF_NEED(alias, [vulkan])
QF_NEED(brush, [vulkan])
QF_NEED(iqm, [vulkan])
QF_NEED(sprite, [vulkan])
fi
QF_NEED(vid_render, [sw sw32 gl glsl])
QF_NEED(render, [sw sw32 gl glsl])
QF_NEED(models, [sw gl glsl])
QF_NEED(alias, [sw gl glsl])
QF_NEED(brush, [sw gl glsl])
@ -133,6 +138,7 @@ if test "x$HAVE_SVGA" = xyes; then
CL_TARGETS="$CL_TARGETS SVGAlib"
VID_TARGETS="$VID_TARGETS libs/video/targets/libQFsvga.la"
QF_NEED(vid_render, [sw])
QF_NEED(render, [sw])
QF_NEED(models, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
@ -155,6 +161,7 @@ fi
# CL_TARGETS="$CL_TARGETS WGL"
# VID_TARGETS="$VID_TARGETS libs/video/targets/libQFwgl.la"
# QF_NEED(vid_render, [gl])
# QF_NEED(render, [gl])
# QF_NEED(models, [gl])
# QF_NEED(alias, [gl])
# QF_NEED(brush, [gl])
@ -290,6 +297,7 @@ fi
QF_SUBST(progs_gz)
QF_PROCESS_NEED_LIBS(swrend, [asm])
QF_PROCESS_NEED_LIBS(render, [gl glsl sw sw32 vulkan], [libs/video/renderer])
QF_PROCESS_NEED_LIBS(models, [gl glsl sw vulkan], [libs/models])
QF_PROCESS_NEED_LIBS(alias, [gl glsl sw vulkan], [libs/models/alias])
QF_PROCESS_NEED_LIBS(brush, [gl glsl sw vulkan], [libs/models/brush])

View file

@ -3,8 +3,12 @@ include libs/video/renderer/vulkan/vkgen/Makemodule.am
#lib_LTLIBRARIES += @VID_REND_TARGETS@
plugin_LTLIBRARIES += @vid_render_plugins@
noinst_LTLIBRARIES += libs/video/renderer/libQFrenderer.la @vid_render_static_plugins@
noinst_LTLIBRARIES += \
libs/video/renderer/libQFrenderer.la \
@render_libs@ \
@vid_render_static_plugins@
#plugins
EXTRA_LTLIBRARIES += \
libs/video/renderer/vid_render_sw.la \
libs/video/renderer/vid_render_sw32.la \
@ -12,6 +16,14 @@ EXTRA_LTLIBRARIES += \
libs/video/renderer/vid_render_glsl.la \
libs/video/renderer/vid_render_vulkan.la
#helper libraries
EXTRA_LTLIBRARIES += \
libs/video/renderer/librender_sw.la \
libs/video/renderer/librender_sw32.la \
libs/video/renderer/librender_gl.la \
libs/video/renderer/librender_glsl.la \
libs/video/renderer/librender_vulkan.la
video_renderer_common_sources = \
libs/video/renderer/crosshair.c \
libs/video/renderer/font8x8.c \
@ -43,13 +55,16 @@ libs_video_renderer_libQFrenderer_la_SOURCES=\
libs/video/renderer/r_progs.c
video_renderer_gl_libs= \
libs/video/renderer/librender_gl.la \
libs/models/libmodels_gl.la
libs_video_renderer_vid_render_gl_la_LDFLAGS= $(plugin_ldflags)
libs_video_renderer_vid_render_gl_la_LIBADD= $(video_renderer_gl_libs)
libs_video_renderer_vid_render_gl_la_DEPENDENCIES= $(video_renderer_gl_libs)
libs_video_renderer_vid_render_gl_la_SOURCES=\
$(video_renderer_common_sources) \
libs/video/renderer/vid_render_gl.c \
libs/video/renderer/vid_render_gl.c
libs_video_renderer_librender_gl_la_SOURCES = \
libs/video/renderer/gl/gl_draw.c \
libs/video/renderer/gl/gl_dyn_lights.c \
libs/video/renderer/gl/gl_dyn_part.c \
@ -91,13 +106,16 @@ SUFFICES=.frag .vert .spv .spvc .fc .vc .slc .glsl .plist .plc
$(am__mv) $@.t $@
video_renderer_glsl_libs= \
libs/video/renderer/librender_glsl.la \
libs/models/libmodels_glsl.la
libs_video_renderer_vid_render_glsl_la_LDFLAGS= $(plugin_ldflags)
libs_video_renderer_vid_render_glsl_la_LIBADD= $(video_renderer_glsl_libs)
libs_video_renderer_vid_render_glsl_la_DEPENDENCIES=$(video_renderer_glsl_libs)
libs_video_renderer_vid_render_glsl_la_SOURCES=\
$(video_renderer_common_sources) \
libs/video/renderer/vid_render_glsl.c \
libs/video/renderer/vid_render_glsl.c
libs_video_renderer_librender_glsl_la_SOURCES = \
libs/video/renderer/glsl/glsl_alias.c \
libs/video/renderer/glsl/glsl_bsp.c \
libs/video/renderer/glsl/glsl_draw.c \
@ -116,13 +134,16 @@ libs_video_renderer_vid_render_glsl_la_SOURCES=\
libs/video/renderer/glsl/vid_common_glsl.c
video_renderer_sw_libs= \
libs/video/renderer/librender_sw.la \
libs/models/libmodels_sw.la
libs_video_renderer_vid_render_sw_la_LDFLAGS= $(plugin_ldflags)
libs_video_renderer_vid_render_sw_la_LIBADD= $(video_renderer_sw_libs)
libs_video_renderer_vid_render_sw_la_DEPENDENCIES= $(video_renderer_sw_libs)
libs_video_renderer_vid_render_sw_la_SOURCES=\
$(video_renderer_common_sources) \
libs/video/renderer/vid_render_sw.c \
libs/video/renderer/vid_render_sw.c
libs_video_renderer_librender_sw_la_SOURCES = \
libs/video/renderer/sw/d_copy.S \
libs/video/renderer/sw/d_draw.S \
libs/video/renderer/sw/d_edge.c \
@ -170,13 +191,16 @@ libs_video_renderer_vid_render_sw_la_SOURCES=\
libs/video/renderer/sw/vid_common_sw.c
video_renderer_sw32_libs= \
libs/video/renderer/librender_sw32.la \
libs/models/libmodels_sw.la
libs_video_renderer_vid_render_sw32_la_LDFLAGS= $(plugin_ldflags)
libs_video_renderer_vid_render_sw32_la_LIBADD= $(video_renderer_sw32_libs)
libs_video_renderer_vid_render_sw32_la_DEPENDENCIES=$(video_renderer_sw32_libs)
libs_video_renderer_vid_render_sw32_la_SOURCES=\
$(video_renderer_common_sources) \
libs/video/renderer/vid_render_sw32.c \
libs/video/renderer/vid_render_sw32.c
libs_video_renderer_librender_sw32_la_SOURCES = \
libs/video/renderer/sw32/d_edge.c \
libs/video/renderer/sw32/d_fill.c \
libs/video/renderer/sw32/d_init.c \
@ -213,13 +237,16 @@ renderpass_src = libs/video/renderer/vulkan/deferred.plist
renderpass_gen = libs/video/renderer/vulkan/deferred.plc
video_renderer_vulkan_libs = \
libs/video/renderer/librender_vulkan.la \
libs/models/libmodels_vulkan.la
libs_video_renderer_vid_render_vulkan_la_LDFLAGS= $(plugin_ldflags)
libs_video_renderer_vid_render_vulkan_la_LIBADD= $(video_renderer_vulkan_libs)
libs_video_renderer_vid_render_vulkan_la_DEPENDENCIES=$(video_renderer_vulkan_libs)
libs_video_renderer_vid_render_vulkan_la_SOURCES = \
$(video_renderer_common_sources) \
libs/video/renderer/vid_render_vulkan.c \
libs/video/renderer/vid_render_vulkan.c
libs_video_renderer_librender_vulkan_la_SOURCES = \
libs/video/renderer/vulkan/barrier.c \
libs/video/renderer/vulkan/buffer.c \
libs/video/renderer/vulkan/command.c \

View file

@ -7,7 +7,7 @@ TESTS += $(libs_video_renderer_vulkan_tests)
check_PROGRAMS += $(libs_video_renderer_vulkan_tests)
libs_video_renderer_vulkan_test_libs= \
libs/video/renderer/vid_render_vulkan.la \
libs/video/renderer/librender_vulkan.la \
libs/util/libQFutil.la
libs_video_renderer_vulkan_test_test_staging_SOURCES= \

View file

@ -47,5 +47,7 @@ EXTRA_DIST += \
libs/video/renderer/vulkan/vkgen/vkgen.h \
libs/video/renderer/vulkan/vkgen/vkstruct.h \
libs/video/renderer/vulkan/vkgen/vktype.h \
$e
CLEANFILES += \
libs/video/renderer/vkgen/*.sym