Home | History | Annotate | Line # | Download | only in libGL
Makefile revision 1.22
      1 #	$NetBSD: Makefile,v 1.22 2019/03/10 02:29:52 mrg Exp $
      2 
      3 .include <bsd.own.mk>
      4 
      5 LIB=		GL
      6 LIBISCXX=	yes
      7 
      8 SUBDIR=		internal
      9 
     10 # glx
     11 .PATH:		${X11SRCDIR.Mesa}/src/glx
     12 SRCS.glx=	\
     13 	clientattrib.c \
     14 	clientinfo.c \
     15 	compsize.c \
     16 	create_context.c \
     17 	eval.c \
     18 	glxconfig.c \
     19 	glxcmds.c \
     20 	glxcurrent.c \
     21 	glx_error.c \
     22 	glxext.c \
     23 	glxextensions.c \
     24 	indirect_glx.c \
     25 	MESAindirect.c \
     26 	MESAindirect_init.c \
     27 	MESAindirect_size.c \
     28 	MESAindirect_window_pos.c \
     29 	indirect_texture_compression.c \
     30 	indirect_transpose_matrix.c \
     31 	indirect_vertex_array.c \
     32 	indirect_vertex_program.c \
     33 	pixel.c \
     34 	pixelstore.c \
     35 	query_renderer.c \
     36 	render2.c \
     37 	renderpix.c \
     38 	single2.c \
     39 	singlepix.c \
     40 	vertarr.c \
     41 	glx_pbuffer.c \
     42 	glx_query.c \
     43 	glxhash.c
     44 
     45 BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect.c MESAindirect.c
     46 BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_init.c MESAindirect_init.c
     47 BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/../src/mapi/glapi/indirect_size.c MESAindirect_size.c
     48 BUILDSYMLINKS+=     ${X11SRCDIR.Mesa}/src/glx/indirect_window_pos.c MESAindirect_window_pos.c
     49 
     50 .for _f in ${SRCS.glx}
     51 CPPFLAGS.${_f}= -I${X11SRCDIR.Mesa}/../src/mapi/glapi -DGLX_SHARED_GLAPI
     52 .endfor
     53 
     54 # glapi
     55 .PATH:		${X11SRCDIR.Mesa}/src/mapi
     56 .PATH:		${X11SRCDIR.Mesa}/../src/mapi/glapi
     57 SRCS.glapi=	\
     58 	entry.c \
     59 	glapi_gentable.c
     60 .for _f in ${SRCS.glapi}
     61 CPPFLAGS.${_f}= -DMAPI_MODE_BRIDGE \
     62 		-DMAPI_ABI_HEADER=\"glapi_glapi_mapi_tmp.h\" \
     63 		-I${X11SRCDIR.Mesa}/src/mesa
     64 .endfor
     65 
     66 
     67 # XXX see TODO
     68 #.if ${MACHINE_ARCH} == "i386"
     69 #.PATH:		${X11SRCDIR.Mesa}/src/mesa/x86
     70 #SRCS.glx+=	glapi_x86.S
     71 #CPPFLAGS+=	-DUSE_X86_ASM -I${X11SRCDIR.Mesa}/src/mesa/x86
     72 ## -DUSE_X86_ASM $(MMX_DEFS) $(3DNOW_DEFS) $(SSE_DEFS)
     73 #.endif
     74 
     75 
     76 .if ${X11DRI} != "no"
     77 # dri
     78 SRCS.dri=	\
     79 	  drisw_glx.c \
     80           xfont.c \
     81           dri_common.c \
     82           dri_glx.c \
     83           XF86dri.c \
     84           dri2_glx.c \
     85           dri2.c \
     86           dri2_query_renderer.c
     87 .for fn in ${SRCS.dri}
     88 CPPFLAGS.${fn}=-DDEFAULT_DRIVER_DIR=\"${X11USRLIBDIR}/modules/dri\"
     89 .endfor
     90 .endif
     91 
     92 .include "../libloader.mk"
     93 
     94 .PATH:		${X11SRCDIR.Mesa}/src/glw
     95 .PATH:		${X11SRCDIR.Mesa}/include/GL
     96 .PATH:		${X11SRCDIR.Mesa}/src/mesa/drivers/x11
     97 INCS=	gl.h gl_mangle.h glcorearb.h glext.h \
     98 	glx.h glx_mangle.h glxext.h \
     99 	osmesa.h wglext.h wmesa.h
    100 INCSDIR=${X11INCDIR}/GL
    101 
    102 
    103 SRCS+=	${SRCS.dri} ${SRCS.glx} ${SRCS.glapi}
    104 
    105 CPPFLAGS+= \
    106 	-I${X11SRCDIR.Mesa}/include \
    107 	-I${X11SRCDIR.Mesa}/include/GL/internal \
    108 	-I${X11SRCDIR.Mesa}/src/loader \
    109 	-I${X11SRCDIR.Mesa}/src/mapi \
    110 	-I${X11SRCDIR.Mesa}/src/mapi/glapi \
    111 	-I${X11SRCDIR.Mesa}/../src/mapi/glapi \
    112 	-I${X11SRCDIR.Mesa}/src/glx \
    113 	-I${DESTDIR}${X11INCDIR}/libdrm \
    114 	-I${DESTDIR}${X11INCDIR}/GL \
    115 	-I${DESTDIR}${X11INCDIR}/X11 \
    116 	-I${DESTDIR}${X11INCDIR}/X11/extensions
    117 
    118 CPPFLAGS+=	${X11FLAGS.THREADLIB}
    119 
    120 #		-D_NETBSD_SOURCE \
    121 
    122 # old
    123 CPPFLAGS+=	-D__GLX_ALIGN64 \
    124 		-DXF86VIDMODE \
    125 		-DGLX_SHARED_GLAPI
    126 
    127 # new
    128 CPPFLAGS+=	\
    129 	-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \
    130 	-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 \
    131 	-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 \
    132 	-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE___BUILTIN_BSWAP32=1 \
    133 	-DHAVE___BUILTIN_BSWAP64=1 -DHAVE_DLADDR=1 -DHAVE_CLOCK_GETTIME=1 \
    134 	-DHAVE_POSIX_MEMALIGN -DHAVE_PTHREAD=1 -DHAVE_DLOPEN
    135 
    136 .include "../asm.mk"
    137 
    138 CPPFLAGS+=	\
    139 	-DHAVE_LIBDRM -DGLX_USE_DRM \
    140 	-DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING \
    141 	-DHAVE_ALIAS -DMESA_EGL_NO_X11_HEADERS
    142 
    143 CPPFLAGS+=	\
    144 	-DUSE_EXTERNAL_DXTN_LIB=1 \
    145 	-DYYTEXT_POINTER=1
    146 
    147 CFLAGS+=	-fvisibility=hidden -fno-strict-aliasing -fno-builtin-memcmp
    148 CFLAGS+=	-pthread
    149 
    150 LIBDPLIBS=	Xext		${.CURDIR}/../libXext \
    151 		X11		${.CURDIR}/../libX11/dynamic \
    152 		Xxf86vm		${.CURDIR}/../libXxf86vm \
    153 		Xfixes		${.CURDIR}/../libXfixes \
    154 		Xdamage		${.CURDIR}/../libXdamage \
    155 		glapi		${.CURDIR}/../libglapi \
    156 		drm		${.CURDIR}/../libdrm \
    157 		X11-xcb		${.CURDIR}/../libX11/libX11-xcb \
    158 		xcb-dri2	${.CURDIR}/../libxcb/dri2 \
    159 		xcb-glx		${.CURDIR}/../libxcb/glx \
    160 		expat		${NETBSDSRCDIR}/external/mit/expat/lib/libexpat \
    161 		m		${NETBSDSRCDIR}/lib/libm
    162 
    163 MKLINT=no
    164 
    165 PKGCONFIG=	gl
    166 PKGDIST.gl=	${X11SRCDIR.Mesa}/src/mesa
    167 .include "${.CURDIR}/../libGL/mesa-ver.mk"
    168 PKGCONFIG_VERSION.gl=	${MESA_VER}
    169 
    170 # XXX remove these from bsd.x11.mk
    171 # XXX enable GLX TLS?  it's enabled in the code, but not here..
    172 PKGCONFIG_SED_FLAGS= \
    173 	-e "s,@GL_PC_REQ_PRIV@,x11 xext,; \
    174 	    s,@GL_LIB@,GL,; \
    175 	    s,@GL_PC_LIB_PRIV@,-lm -lpthread,; \
    176 	    s,@GL_PC_CFLAGS@,,; \
    177 	    s,@GLX_TLS@,no,"
    178 
    179 
    180 CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-format -Wno-constant-conversion
    181 
    182 .include <bsd.x11.mk>
    183 .include <bsd.lib.mk>
    184 .include <bsd.subdir.mk>
    185