$NetBSD: patch-ad,v 1.13 2008/05/01 15:37:13 bjs Exp $ --- src/mesa/Makefile.orig 2007-12-03 20:00:21.000000000 +0100 +++ src/mesa/Makefile @@ -8,19 +8,22 @@ include sources GL_MAJOR = 1 GL_MINOR = 5 -GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) +GL_TINY = 0 .SUFFIXES : .cpp .c.o: - $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ + $(LIBTOOL) --mode=compile --tag=CC \ + $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(COPTS) $< -o $(@:.o=.lo) .cpp.o: - $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $@ + $(LIBTOOL) --mode=compile --tag=CXX \ + $(CXX) -c $(INCLUDE_DIRS) $(CXXFLAGS) $< -o $(@:.o=.lo) .S.o: - $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ + $(LIBTOOL) --mode=compile --tag=CC \ + $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(COPTS) $< -o $(@:.o=.lo) # Figure out what to make here @@ -51,13 +54,14 @@ beos: depend subdirs libmesa.a # Linux DRI drivers # Make archive of core object files -libmesa.a: $(SOLO_OBJECTS) - @ $(TOP)/bin/mklib -o mesa -static $(SOLO_OBJECTS); +libmesa.la: $(SOLO_OBJECTS) + @ $(LIBTOOL) --mode=link $(CC) \ + -o $@ $(SOLO_OBJECTS:.o=.lo) -static -avoid-version @if [ "${CONFIG_NAME}" = "beos" ] ; then \ mimeset -f "$@" ; \ fi -linux-solo: depend subdirs libmesa.a +linux-solo: depend subdirs libmesa.la cd drivers/dri ; $(MAKE) @@ -65,10 +69,11 @@ linux-solo: depend subdirs libmesa.a # Stand-alone Mesa libGL, no built-in drivers (DirectFB) libgl-core: $(CORE_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ - -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) $(CORE_OBJECTS) \ - $(GL_LIB_DEPS) + @ $(LIBTOOL) --mode=link $(CC) \ + -o $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME:.so=.la) \ + $(LDFLAGS) -rpath $(PREFIX)/lib \ + -version-info $(MESA_MAJOR):$(MESA_MINOR):$(MESA_TINY) \ + $(CORE_OBJECTS:.o=.lo) $(GL_LIB_DEPS) directfb: depend subdirs libgl-core cd drivers/directfb ; $(MAKE) @@ -78,12 +83,12 @@ directfb: depend subdirs libgl-core # fbdev Mesa driver (libGL.so) fbdev: $(CORE_OBJECTS) $(FBDEV_DRIVER_OBJECTS) $(COMMON_DRIVER_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \ - -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ - $(CORE_OBJECTS) $(FBDEV_DRIVER_OBJECTS) \ - $(COMMON_DRIVER_OBJECTS) $(GL_LIB_DEPS) - + @ $(LIBTOOL) --mode=link $(CC) \ + -o $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME:.so=.la) $(LDFLAGS) \ + -rpath $(PREFIX)/lib $(CORE_OBJECTS:.o=.lo) \ + -version-info $(MESA_MAJOR):$(MESA_MINOR):$(MESA_TINY) \ + $(FBDEV_DRIVER_OBJECTS:.o=.lo) \ + $(COMMON_DRIVER_OBJECTS:.o=.lo) $(GL_LIB_DEPS) ###################################################################### # Stand-alone Mesa libGL and libOSMesa @@ -111,29 +116,29 @@ osmesa-only: depend subdirs $(TOP)/$(LIB # Make the GL library $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): $(STAND_ALONE_OBJECTS) - @ $(TOP)/bin/mklib -o $(GL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - -major $(GL_MAJOR) -minor $(GL_MINOR) -patch $(GL_TINY) \ - -install $(TOP)/$(LIB_DIR) \ - $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(STAND_ALONE_OBJECTS) + @ $(LIBTOOL) --mode=link $(CC) \ + -o $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME:.so=.la) \ + -version-info $(GL_MAJOR):$(GL_MINOR):$(GL_TINY) \ + -rpath $(PREFIX)/lib $(LDFLAGS) $(GL_LIB_DEPS) \ + $(STAND_ALONE_OBJECTS:.o=.lo) + # Make the OSMesa library # Note: version is kept at 6.5.3 to simplify app/linking issues $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OSMESA_DRIVER_OBJECTS) $(OSMESA16_OBJECTS) @ if [ "${DRIVER_DIRS}" = "osmesa" ] ; then \ - $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \ - -ldflags '$(LDFLAGS)' \ - -major 6 -minor 5 -patch 3 \ - -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ - $(OSMESA_LIB_DEPS) $(OSMESA16_OBJECTS) ; \ + $(LIBTOOL) --mode=link $(CC) \ + -o $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME:.so=.la) \ + $(LDFLAGS) -version-info 6:5:3 -rpath $(PREFIX)/lib \ + $(OSMESA_LIB_DEPS) $(OSMESA16_OBJECTS:.o=.lo) ; \ else \ - $(TOP)/bin/mklib -o $(OSMESA_LIB) -linker '$(CC)' \ - -ldflags '$(LDFLAGS)' \ - -major 6 -minor 5 -patch 3 \ - -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ - $(OSMESA_LIB_DEPS) $(OSMESA_DRIVER_OBJECTS) ; \ + $(LIBTOOL) --mode=link $(CC) \ + -o $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME:.so=.la) \ + $(LDFLAGS) -version-info 6:5:3 \ + -rpath $(PREFIX)/lib $(OSMESA_LIB_DEPS) \ + $(OSMESA_DRIVER_OBJECTS:.o=.lo) ; \ fi - ###################################################################### # libGL pkg-config file pcedit = sed \ @@ -164,20 +170,26 @@ subdirs: install: default gl.pc - $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL - $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) - $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig - $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(DESTDIR)$(INSTALL_DIR)/include/GL - @if [ -e $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) ]; then \ - $(INSTALL) $(TOP)/$(LIB_DIR)/libGL* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ - fi - $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig - @if [ -e $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME) ]; then \ - $(INSTALL) $(TOP)/$(LIB_DIR)/libOSMesa* $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ + $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(INSTALL_DIR)/include/GL + $(BSD_INSTALL_LIB_DIR) $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR) + $(BSD_INSTALL_LIB_DIR) $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig +# @for fn in $(TOP)/include/GL/*.h; do \ +# $(BSD_INSTALL_DATA) $$fn $(DESTDIR)$(INSTALL_DIR)/include/GL; \ +# done + @if [ -f "$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME:.so=.la)" ]; then \ + $(LIBTOOL) --mode=install $(BSD_INSTALL_LIB) \ + $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME:.so=.la) \ + $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ + fi + $(BSD_INSTALL_DATA) gl.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig + @if [ -f "$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME:.so=.la)" ]; then \ + $(LIBTOOL) --mode=install $(BSD_INSTALL_LIB) \ + $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME:.so=.la) \ + $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR); \ fi @if [ "${DRIVER_DIRS}" = "dri" ] ; then \ cd drivers/dri ; $(MAKE) install ; \ - fi + fi ## NOT INSTALLED YET: ## $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GLES @@ -191,7 +203,7 @@ tags: clean: -rm -f */*.o -rm -f */*/*.o - -rm -f depend depend.bak libmesa.a + -rm -f depend depend.bak libmesa* -rm -f drivers/*/*.o (cd drivers/dri ; $(MAKE) clean) (cd x86 ; $(MAKE) clean)