egl: Clean up the Makefile rules.

This allows libEGL to be built as a static library and removes libX11
from the dependencies.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
Chia-I Wu
2009-12-21 11:13:18 +08:00
parent 064242ae9f
commit d4c1ee0534
4 changed files with 31 additions and 20 deletions

View File

@@ -54,6 +54,7 @@ GLU_LIB_NAME = @GLU_LIB_NAME@
GLUT_LIB_NAME = @GLUT_LIB_NAME@ GLUT_LIB_NAME = @GLUT_LIB_NAME@
GLW_LIB_NAME = @GLW_LIB_NAME@ GLW_LIB_NAME = @GLW_LIB_NAME@
OSMESA_LIB_NAME = @OSMESA_LIB_NAME@ OSMESA_LIB_NAME = @OSMESA_LIB_NAME@
EGL_LIB_NAME = @EGL_LIB_NAME@
# Globs used to install the lib and all symlinks # Globs used to install the lib and all symlinks
GL_LIB_GLOB = @GL_LIB_GLOB@ GL_LIB_GLOB = @GL_LIB_GLOB@
@@ -61,12 +62,14 @@ GLU_LIB_GLOB = @GLU_LIB_GLOB@
GLUT_LIB_GLOB = @GLUT_LIB_GLOB@ GLUT_LIB_GLOB = @GLUT_LIB_GLOB@
GLW_LIB_GLOB = @GLW_LIB_GLOB@ GLW_LIB_GLOB = @GLW_LIB_GLOB@
OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@ OSMESA_LIB_GLOB = @OSMESA_LIB_GLOB@
EGL_LIB_GLOB = @EGL_LIB_GLOB@
# Directories to build # Directories to build
LIB_DIR = @LIB_DIR@ LIB_DIR = @LIB_DIR@
SRC_DIRS = @SRC_DIRS@ SRC_DIRS = @SRC_DIRS@
GLU_DIRS = @GLU_DIRS@ GLU_DIRS = @GLU_DIRS@
DRIVER_DIRS = @DRIVER_DIRS@ DRIVER_DIRS = @DRIVER_DIRS@
EGL_DRIVERS_DIRS = @EGL_DRIVERS_DIRS@
GALLIUM_DIRS = @GALLIUM_DIRS@ GALLIUM_DIRS = @GALLIUM_DIRS@
GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@ GALLIUM_DRIVERS_DIRS = @GALLIUM_DRIVERS_DIRS@
GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@ GALLIUM_WINSYS_DIRS = @GALLIUM_WINSYS_DIRS@

View File

@@ -55,6 +55,7 @@ GLUT_LIB = glut
GLEW_LIB = GLEW GLEW_LIB = GLEW
GLW_LIB = GLw GLW_LIB = GLw
OSMESA_LIB = OSMesa OSMESA_LIB = OSMesa
EGL_LIB = EGL
# Library names (actual file names) # Library names (actual file names)
@@ -64,6 +65,7 @@ GLUT_LIB_NAME = lib$(GLUT_LIB).so
GLEW_LIB_NAME = lib$(GLEW_LIB).a GLEW_LIB_NAME = lib$(GLEW_LIB).a
GLW_LIB_NAME = lib$(GLW_LIB).so GLW_LIB_NAME = lib$(GLW_LIB).so
OSMESA_LIB_NAME = lib$(OSMESA_LIB).so OSMESA_LIB_NAME = lib$(OSMESA_LIB).so
EGL_LIB_NAME = lib$(EGL_LIB).so
# globs used to install the lib and all symlinks # globs used to install the lib and all symlinks
GL_LIB_GLOB = $(GL_LIB_NAME)* GL_LIB_GLOB = $(GL_LIB_NAME)*
@@ -71,6 +73,7 @@ GLU_LIB_GLOB = $(GLU_LIB_NAME)*
GLUT_LIB_GLOB = $(GLUT_LIB_NAME)* GLUT_LIB_GLOB = $(GLUT_LIB_NAME)*
GLW_LIB_GLOB = $(GLW_LIB_NAME)* GLW_LIB_GLOB = $(GLW_LIB_NAME)*
OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)* OSMESA_LIB_GLOB = $(OSMESA_LIB_NAME)*
EGL_LIB_GLOB = $(EGL_LIB_NAME)*
# Optional assembly language optimization files for libGL # Optional assembly language optimization files for libGL
MESA_ASM_SOURCES = MESA_ASM_SOURCES =
@@ -89,7 +92,7 @@ DRIVER_DIRS = x11 osmesa
# Which subdirs under $(TOP)/progs/ to enter: # Which subdirs under $(TOP)/progs/ to enter:
PROGRAM_DIRS = demos redbook samples glsl objviewer xdemos PROGRAM_DIRS = demos redbook samples glsl objviewer xdemos
# EGL directories # EGL drivers to build
EGL_DRIVERS_DIRS = demo EGL_DRIVERS_DIRS = demo
# Gallium directories and # Gallium directories and

View File

@@ -243,24 +243,28 @@ GLU_LIB_NAME='lib$(GLU_LIB).'${LIB_EXTENSION}
GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION} GLUT_LIB_NAME='lib$(GLUT_LIB).'${LIB_EXTENSION}
GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION} GLW_LIB_NAME='lib$(GLW_LIB).'${LIB_EXTENSION}
OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION} OSMESA_LIB_NAME='lib$(OSMESA_LIB).'${LIB_EXTENSION}
EGL_LIB_NAME='lib$(EGL_LIB).'${LIB_EXTENSION}
GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*' GL_LIB_GLOB='lib$(GL_LIB).*'${LIB_EXTENSION}'*'
GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*' GLU_LIB_GLOB='lib$(GLU_LIB).*'${LIB_EXTENSION}'*'
GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*' GLUT_LIB_GLOB='lib$(GLUT_LIB).*'${LIB_EXTENSION}'*'
GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*' GLW_LIB_GLOB='lib$(GLW_LIB).*'${LIB_EXTENSION}'*'
OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*' OSMESA_LIB_GLOB='lib$(OSMESA_LIB).*'${LIB_EXTENSION}'*'
EGL_LIB_GLOB='lib$(EGL_LIB).*'${LIB_EXTENSION}'*'
AC_SUBST([GL_LIB_NAME]) AC_SUBST([GL_LIB_NAME])
AC_SUBST([GLU_LIB_NAME]) AC_SUBST([GLU_LIB_NAME])
AC_SUBST([GLUT_LIB_NAME]) AC_SUBST([GLUT_LIB_NAME])
AC_SUBST([GLW_LIB_NAME]) AC_SUBST([GLW_LIB_NAME])
AC_SUBST([OSMESA_LIB_NAME]) AC_SUBST([OSMESA_LIB_NAME])
AC_SUBST([EGL_LIB_NAME])
AC_SUBST([GL_LIB_GLOB]) AC_SUBST([GL_LIB_GLOB])
AC_SUBST([GLU_LIB_GLOB]) AC_SUBST([GLU_LIB_GLOB])
AC_SUBST([GLUT_LIB_GLOB]) AC_SUBST([GLUT_LIB_GLOB])
AC_SUBST([GLW_LIB_GLOB]) AC_SUBST([GLW_LIB_GLOB])
AC_SUBST([OSMESA_LIB_GLOB]) AC_SUBST([OSMESA_LIB_GLOB])
AC_SUBST([EGL_LIB_GLOB])
dnl dnl
dnl Arch/platform-specific settings dnl Arch/platform-specific settings
@@ -900,17 +904,15 @@ AC_ARG_ENABLE([egl],
[enable_egl=yes]) [enable_egl=yes])
if test "x$enable_egl" = xyes; then if test "x$enable_egl" = xyes; then
SRC_DIRS="$SRC_DIRS egl" SRC_DIRS="$SRC_DIRS egl"
EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread"
if test "$x11_pkgconfig" = yes; then EGL_DRIVERS_DIRS=""
PKG_CHECK_MODULES([EGL], [x11]) if test "$enable_static" != yes && test "$mesa_driver" != osmesa; then
EGL_LIB_DEPS="$EGL_LIBS" # build egl_glx when libGL is built
else EGL_DRIVERS_DIRS="glx"
# should check these...
EGL_LIB_DEPS="$X_LIBS -lX11"
fi fi
EGL_LIB_DEPS="$EGL_LIB_DEPS $DLOPEN_LIBS"
fi fi
AC_SUBST([EGL_LIB_DEPS]) AC_SUBST([EGL_LIB_DEPS])
AC_SUBST([EGL_DRIVERS_DIRS])
dnl dnl
dnl GLU configuration dnl GLU configuration

View File

@@ -4,7 +4,10 @@ TOP = ../../..
include $(TOP)/configs/current include $(TOP)/configs/current
INCLUDE_DIRS = -I$(TOP)/include -I$(TOP)/src/mesa/glapi $(X11_INCLUDES) EGL_MAJOR = 1
EGL_MINOR = 0
INCLUDE_DIRS = -I$(TOP)/include
HEADERS = \ HEADERS = \
eglcompiler.h \ eglcompiler.h \
@@ -43,7 +46,7 @@ SOURCES = \
OBJECTS = $(SOURCES:.c=.o) OBJECTS = $(SOURCES:.c=.o)
# Undefined for now # use dl*() to load drivers
LOCAL_CFLAGS = -D_EGL_PLATFORM_X=1 LOCAL_CFLAGS = -D_EGL_PLATFORM_X=1
@@ -56,21 +59,21 @@ default: depend library
# EGL Library # EGL Library
library: $(TOP)/$(LIB_DIR)/libEGL.so library: $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME)
$(TOP)/$(LIB_DIR)/libEGL.so: $(OBJECTS) $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME): $(OBJECTS)
$(MKLIB) -o EGL -linker '$(CC)' -ldflags '$(LDFLAGS)' \ $(MKLIB) -o $(EGL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
-major 1 -minor 0 \ -major $(EGL_MAJOR) -minor $(EGL_MINOR) \
-install $(TOP)/$(LIB_DIR) \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
$(EGL_LIB_DEPS) $(OBJECTS) $(EGL_LIB_DEPS) $(OBJECTS)
install: default install: default
$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
$(MINSTALL) $(TOP)/$(LIB_DIR)/libEGL.so* $(DESTDIR)$(INSTALL_LIB_DIR) $(MINSTALL) $(TOP)/$(LIB_DIR)/$(EGL_LIB_GLOB) \
$(DESTDIR)$(INSTALL_LIB_DIR)
clean: clean:
-rm -f *.o *.so* -rm -f *.o
-rm -f core.*
-rm -f depend depend.bak -rm -f depend depend.bak
@@ -82,5 +85,5 @@ depend: $(SOURCES) $(HEADERS)
$(SOURCES) $(HEADERS) > /dev/null 2>/dev/null $(SOURCES) $(HEADERS) > /dev/null 2>/dev/null
include depend -include depend
# DO NOT DELETE # DO NOT DELETE