231 lines
5.1 KiB
Makefile
231 lines
5.1 KiB
Makefile
# $OpenBSD: Makefile,v 1.40 2013/11/24 06:23:35 jsg Exp $
|
|
.include <bsd.xconf.mk>
|
|
|
|
.if ${XENOCARA_BUILD_GALLIUM:L} == "yes" || ${XENOCARA_BUILD_GALLIUM} == "llvm"
|
|
SUBDIR+=gallium
|
|
MAKE_FLAGS+= XENOCARA_BUILD_GALLIUM=${XENOCARA_BUILD_GALLIUM}
|
|
.endif
|
|
|
|
.if ${XENOCARA_BUILD_DRI:L} == "yes"
|
|
SUBDIR+=glsl mesa dri
|
|
.endif
|
|
|
|
LIB= GL
|
|
|
|
MESA= ${.CURDIR}/../../dist/Mesa/src/mesa
|
|
MAPI= ${.CURDIR}/../../dist/Mesa/src/mapi
|
|
GL= ${.CURDIR}/../../dist/Mesa/Mesa/src/GL
|
|
GLX= ${.CURDIR}/../../dist/Mesa/src/glx
|
|
MESA_INCLUDE= ${.CURDIR}/../../dist/Mesa/include
|
|
MESA_DRI= ${.CURDIR}/../../dist/Mesa/src/mesa/drivers/dri
|
|
|
|
# this needs to be updated in mesa/Makefile.inc as well
|
|
MESA_MAJOR= 9
|
|
MESA_MINOR= 2
|
|
MESA_TINY= 3
|
|
|
|
DRI_DRIVER_INSTALL_DIR= ${X11BASE}/lib/modules/dri
|
|
|
|
DRI_DRIVER_SEARCH_DIR= $(DRI_DRIVER_INSTALL_DIR)
|
|
|
|
INCSDIR= ${X11BASE}/include/GL
|
|
|
|
.if ${XENOCARA_BUILD_DRI:L} == "yes"
|
|
LDADD= -L${X11BASE}/lib -lX11 -lXext -lXxf86vm -lXdamage -lXfixes \
|
|
-lxcb -lX11-xcb -lxcb-dri2 -lxcb-glx -ldrm -lstdc++ -lm -lc
|
|
# XXX link libGL with -lpthread to be able to dlopen() the llvm-pipe module
|
|
LDADD+= -lpthread
|
|
.else
|
|
LDADD= -L${X11BASE}/lib -lX11 -lXext -lxcb -lX11-xcb -lxcb-glx
|
|
.endif
|
|
|
|
LDADD+= -lglapi
|
|
|
|
CPP= cpp -notraditional
|
|
DEBUG?=
|
|
|
|
CFLAGS+= -std=c99
|
|
|
|
CPPFLAGS+= \
|
|
-I. \
|
|
-I${MESA_INCLUDE} \
|
|
-I${MESA_INCLUDE}/GL/internal \
|
|
-I${MESA} \
|
|
-I${MAPI} \
|
|
-I${MAPI}/glapi \
|
|
-I${GLX} \
|
|
-I${X11BASE}/include \
|
|
-I/usr/include/dev/pci/drm \
|
|
-I${.CURDIR}/generated \
|
|
-I${.CURDIR}/generated/glx \
|
|
-DGLX_INDIRECT_RENDERING \
|
|
-DHAVE_PTHREAD \
|
|
-DHAVE_ALIAS \
|
|
-DHAVE_DLOPEN \
|
|
-DHAVE_POSIX_MEMALIGN \
|
|
-D_REENTRANT \
|
|
-DHAVE_SHARED_GLAPI \
|
|
-DGLX_SHARED_GLAPI \
|
|
-DMAPI_MODE_BRIDGE \
|
|
-DMAPI_ABI_HEADER=\"${.CURDIR}/generated/glapi/glapi_mapi_tmp.h\"
|
|
|
|
.if ${XENOCARA_BUILD_DRI:L} == "yes"
|
|
CPPFLAGS+= \
|
|
-DGLX_DIRECT_RENDERING -DXF86VIDMODE \
|
|
-DDEFAULT_DRIVER_DIR=\"${DRI_DRIVER_INSTALL_DIR}\"
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
CPPFLAGS += \
|
|
-DUSE_X86_ASM \
|
|
-DUSE_MMX_ASM \
|
|
-DUSE_3DNOW_ASM \
|
|
-DUSE_SSE_ASM
|
|
.elif ${MACHINE_ARCH} == "amd64"
|
|
CPPFLAGS += -D__GLX_ALIGN64 -DUSE_X86_64_ASM
|
|
.endif
|
|
|
|
INCS= \
|
|
gl.h \
|
|
glext.h \
|
|
glx.h \
|
|
glxext.h \
|
|
osmesa.h
|
|
|
|
GLX_SOURCES= \
|
|
clientattrib.c \
|
|
clientinfo.c \
|
|
compsize.c \
|
|
create_context.c \
|
|
glxeval.c \
|
|
glxconfig.c \
|
|
glxcmds.c \
|
|
glxcurrent.c \
|
|
glxext.c \
|
|
glxextensions.c \
|
|
indirect.c \
|
|
indirect_glx.c \
|
|
indirect_init.c \
|
|
indirect_window_pos.c \
|
|
indirect_size.c \
|
|
indirect_texture_compression.c \
|
|
indirect_transpose_matrix.c \
|
|
indirect_vertex_array.c \
|
|
indirect_vertex_program.c \
|
|
glxpixel.c \
|
|
glxpixelstore.c \
|
|
render2.c \
|
|
renderpix.c \
|
|
single2.c \
|
|
singlepix.c \
|
|
vertarr.c \
|
|
xfont.c \
|
|
glx_error.c \
|
|
glx_pbuffer.c \
|
|
glx_query.c \
|
|
drisw_glx.c \
|
|
dri_common.c \
|
|
dri_glx.c \
|
|
XF86dri.c \
|
|
glxhash.c \
|
|
dri2_glx.c \
|
|
dri2.c \
|
|
applegl_glx.c
|
|
|
|
MAPI_BRIDGE_SOURCES = \
|
|
entry.c
|
|
|
|
SRCS = $(GLX_SOURCES) \
|
|
$(GLAPI_SOURCES) \
|
|
$(MAPI_BRIDGE_SOURCES)
|
|
|
|
includes: _SUBDIRUSE
|
|
cd ${MESA_INCLUDE}/GL; for i in ${INCS}; do \
|
|
j="cmp -s $$i ${DESTDIR}${INCSDIR}/GL/$$i || \
|
|
${INSTALL_DATA} $$i ${DESTDIR}${INCSDIR}/GL"; \
|
|
echo "\tinstalling $$i"; \
|
|
eval "$$j"; \
|
|
done
|
|
|
|
NOPROFILE=
|
|
|
|
obj: _xenocara_obj
|
|
|
|
.include <bsd.lib.mk>
|
|
.include <bsd.xorg.mk>
|
|
|
|
.if ${MACHINE_ARCH} == powerpc || ${MACHINE_ARCH} == sparc
|
|
PICFLAG = -fPIC
|
|
.endif
|
|
|
|
# name conflicts
|
|
glxeval.c: ${GLX}/eval.c
|
|
ln -s ${GLX}/eval.c $@
|
|
|
|
glxpixel.c: ${GLX}/pixel.c
|
|
ln -s ${GLX}/pixel.c $@
|
|
|
|
glxpixelstore.c: ${GLX}/pixelstore.c
|
|
ln -s ${GLX}/pixelstore.c $@
|
|
|
|
CLEANFILES+= glxeval.c glxpixel.c glxpixelstore.c
|
|
|
|
gl.pc: ${MESA}/gl.pc.in Makefile
|
|
sed -e 's,@prefix@,$(X11BASE),' \
|
|
-e 's,@libdir@,${LIBDIR},' \
|
|
-e 's,@includedir@,${INCSDIR},' \
|
|
-e 's,@GL_PC_REQ_PRIV@,libdrm >= 2.4.24 x11 xext xdamage xfixes x11-xcb xcb-glx >= 1.8.1 xcb-dri2 >= 1.8 xxf86vm,' \
|
|
-e 's,@GL_PC_LIB_PRIV@,-lm -lpthread,' \
|
|
-e 's,@GL_PC_CFLAGS@,,' \
|
|
-e 's,@GL_LIB@,GL,' \
|
|
-e 's,@PACKAGE_VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
|
|
-e 's,@GLX_TLS@,no,' \
|
|
< ${MESA}/gl.pc.in > gl.pc
|
|
|
|
.if ${XENOCARA_BUILD_DRI:L} == "yes"
|
|
DRI_PC=dri.pc
|
|
|
|
dri.pc: ${MESA_DRI}/dri.pc.in Makefile
|
|
sed -e 's,@prefix@,${X11BASE},' \
|
|
-e 's,@exec_prefix@,${X11BASE},' \
|
|
-e 's,@libdir@,${LIBDIR},' \
|
|
-e 's,@includedir@,${INCSDIR},' \
|
|
-e 's,@DRI_DRIVER_INSTALL_DIR@,${DRI_DRIVER_INSTALL_DIR},' \
|
|
-e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
|
|
-e 's,@DRI_PC_REQ_PRIV@,libdrm >= 2.4.24,' \
|
|
< ${MESA_DRI}/dri.pc.in > dri.pc
|
|
.endif
|
|
|
|
afterinstall: gl.pc ${DRI_PC}
|
|
$(INSTALL) -c -m 644 -o root -g wheel gl.pc \
|
|
${DESTDIR}${LIBDIR}/pkgconfig
|
|
.if ${XENOCARA_BUILD_DRI:L} == "yes"
|
|
$(INSTALL) -c -m 644 -o root -g wheel dri.pc \
|
|
${DESTDIR}${LIBDIR}/pkgconfig
|
|
.endif
|
|
|
|
CLEANFILES+= gl.pc ${DRI_PC}
|
|
|
|
.if ${MACHINE_ARCH} == i386
|
|
.PATH: ${MESA}/x86
|
|
.PATH: ${MESA}/x86/rtasm
|
|
.endif
|
|
.if ${MACHINE_ARCH} == powerpc
|
|
.PATH: ${MESA}/ppc
|
|
.endif
|
|
.if ${MACHINE_ARCH} == sparc
|
|
.PATH: ${MESA}/sparc
|
|
.endif
|
|
.if ${MACHINE_ARCH} == amd64
|
|
.PATH: ${MESA}/x86-64
|
|
.endif
|
|
.PATH: ${MESA}/main
|
|
.PATH: ${MAPI}/glapi
|
|
.PATH: ${MAPI}
|
|
.PATH: ${GLX}
|
|
.PATH: ${.CURDIR}/generated
|
|
.PATH: ${.CURDIR}/generated/glapi
|
|
.PATH: ${.CURDIR}/generated/glx
|
|
|
|
.include <bsd.subdir.mk>
|