From 0e794a1bc6885cf569c3dc07b7fd56725aee2c2e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 22 Jun 2006 22:50:48 +0000 Subject: New 'install' targets in makefile. See bug 2372. --- Makefile | 5 +++-- configs/aix | 3 +++ configs/default | 13 +++++++++++-- configs/freebsd | 3 +++ progs/Makefile | 2 ++ src/Makefile | 6 ++++++ src/glu/Makefile | 3 +++ src/glut/glx/Makefile | 7 +++++++ src/glw/Makefile | 5 +++++ src/glx/x11/Makefile | 5 ++++- src/mesa/Makefile | 9 +++++++++ src/mesa/drivers/dri/Makefile.template | 5 +++-- 12 files changed, 59 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 9cdbe32288d..e799ecfae86 100644 --- a/Makefile +++ b/Makefile @@ -33,8 +33,9 @@ realclean: install: - @echo "Installing" - $(TOP)/bin/installmesa $(DESTDIR) + @for dir in $(SUBDIRS) ; do \ + (cd $$dir ; $(MAKE) install) || exit 1 ; \ + done # DirectFBGL module installation linux-directfb-install: diff --git a/configs/aix b/configs/aix index a509732876d..313d4c4fdb3 100644 --- a/configs/aix +++ b/configs/aix @@ -10,7 +10,10 @@ CXX = xlC CFLAGS = -O -DAIXV3 -DPTHREADS CXXFLAGS = -O -DAIXV3 -DPTHREADS + +# Misc tools and flags MKLIB_OPTIONS = +COPY_LIBS = cp -f -h # Library names (actual file names) GL_LIB_NAME = libGL.a diff --git a/configs/default b/configs/default index d85ce14eaf7..ec44c8af2bf 100644 --- a/configs/default +++ b/configs/default @@ -2,6 +2,8 @@ # This is included by other config files which may override some # of these variables. +# Think of this as a base class from which configs are derived. + CONFIG_NAME = default @@ -25,6 +27,8 @@ MKLIB_OPTIONS = MKDEP = makedepend MKDEP_OPTIONS = -fdepend MAKE = make +INSTALL = install +COPY_LIBS = cp -f -d # Python and flags (generally only needed by the developers) PYTHON2 = python @@ -54,9 +58,8 @@ ASM_SOURCES = GLW_SOURCES = GLwDrawA.c -# Directories +# Directories to build LIB_DIR = $(TOP)/lib -INSTALL_PREFIX = /usr/local SRC_DIRS = mesa glu glut/glx glw GLU_DIRS = sgi DRIVER_DIRS = x11 osmesa @@ -72,3 +75,9 @@ GLU_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) -lm GLUT_LIB_DEPS = -L$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm GLW_LIB_DEPS = -L$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11 APP_LIB_DEPS = -L$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm + + + +# Installation directories (for make install) +INSTALL_DIR = /usr/local +DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/dri diff --git a/configs/freebsd b/configs/freebsd index c390b8bf9c9..782e0c3219d 100644 --- a/configs/freebsd +++ b/configs/freebsd @@ -9,6 +9,9 @@ CC = cc CXX = c++ MAKE = gmake +# cp -d not supported on FreeBSD (see bug 4435) +COPY_LIBS = cp -f + OPT_FLAGS = -O2 PIC_FLAGS = -fPIC diff --git a/progs/Makefile b/progs/Makefile index 858d628c0a5..d5ec17d43e5 100644 --- a/progs/Makefile +++ b/progs/Makefile @@ -21,6 +21,8 @@ subdirs: fi \ done +# Dummy install target +install: clean: @for dir in $(SUBDIRS) tests ; do \ diff --git a/src/Makefile b/src/Makefile index ffe2dbc6a2f..c6082e85194 100644 --- a/src/Makefile +++ b/src/Makefile @@ -21,6 +21,12 @@ subdirs: fi \ done +install: + @for dir in $(SUBDIRS) ; do \ + if [ -d $$dir ] ; then \ + (cd $$dir ; $(MAKE) install) || exit 1 ; \ + fi \ + done $(LIB_DIR): -mkdir $(LIB_DIR) diff --git a/src/glu/Makefile b/src/glu/Makefile index 915b95081a9..4e02e86da63 100644 --- a/src/glu/Makefile +++ b/src/glu/Makefile @@ -13,6 +13,9 @@ default: $(TOP)/configs/current (cd $$dir ; $(MAKE)) ; \ done +install: + $(INSTALL) -d $(INSTALL_DIR)/lib + $(COPY_LIBS) $(TOP)/lib/libGLU.* $(INSTALL_DIR)/lib clean: @for dir in $(SUBDIRS) ; do \ diff --git a/src/glut/glx/Makefile b/src/glut/glx/Makefile index 86920aba99d..49c775fb222 100644 --- a/src/glut/glx/Makefile +++ b/src/glut/glx/Makefile @@ -96,6 +96,13 @@ $(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS) $(GLUT_LIB_DEPS) $(OBJECTS) +install: + $(INSTALL) -d $(INSTALL_DIR)/include/GL + $(INSTALL) -d $(INSTALL_DIR)/lib + $(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(INSTALL_DIR)/include/GL + $(COPY_LIBS) $(TOP)/lib/libglut* $(INSTALL_DIR)/lib + + clean: -rm -f *.o *~ -rm -f *.lo diff --git a/src/glw/Makefile b/src/glw/Makefile index e21cbbd4054..af25f7dcbc3 100644 --- a/src/glw/Makefile +++ b/src/glw/Makefile @@ -25,6 +25,11 @@ OBJECTS = $(GLW_SOURCES:.c=.o) default: $(LIB_DIR)/$(GLW_LIB_NAME) +install: + $(INSTALL) -d $(INSTALL_DIR)/include/GL + $(INSTALL) -d $(INSTALL_DIR)/lib + $(INSTALL) -m 644 *.h $(INSTALL_DIR)/include/GL + $(COPY_LIBS) $(TOP)/lib/libGLw.* $(INSTALL_DIR)/lib clean: -rm depend depend.bak diff --git a/src/glx/x11/Makefile b/src/glx/x11/Makefile index 977967ac2fa..b33a84e94b5 100644 --- a/src/glx/x11/Makefile +++ b/src/glx/x11/Makefile @@ -1,7 +1,8 @@ TOP = ../../.. include $(TOP)/configs/current -EXTRA_DEFINES = -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER +EXTRA_DEFINES = -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER \ + -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_INSTALL_DIR)\" SOURCES = \ glcontextmodes.c \ @@ -82,6 +83,8 @@ depend: $(SOURCES) $(MESA_GLAPI_SOURCES) $(MESA_ASM_API) Makefile tags: etags `find . -name \*.[ch]` `find ../include` +# Dummy install target +install: # Remove .o and backup files clean: diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 8896bb28694..5f171f47571 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -149,11 +149,20 @@ subdirs: install: default + $(INSTALL) -d $(INSTALL_DIR)/include/GL + $(INSTALL) -d $(INSTALL_DIR)/lib + $(INSTALL) -m 644 $(TOP)/include/GL/*.h $(INSTALL_DIR)/include/GL + $(COPY_LIBS) $(TOP)/lib/libGL.* $(INSTALL_DIR)/lib @if [ "${DRIVER_DIRS}" = "dri" ] ; then \ cd drivers/dri ; $(MAKE) install ; \ fi + ## NOT YET: + ## $(INSTALL) -d $(INSTALL_DIR)/include/GLES + ## $(INSTALL) -m 644 include/GLES/*.h $(INSTALL_DIR)/include/GLES + + # Emacs tags tags: etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h diff --git a/src/mesa/drivers/dri/Makefile.template b/src/mesa/drivers/dri/Makefile.template index 4a7a6552ac0..9d08c44d653 100644 --- a/src/mesa/drivers/dri/Makefile.template +++ b/src/mesa/drivers/dri/Makefile.template @@ -70,7 +70,7 @@ default: depend symlinks $(LIBNAME) $(LIB_DIR)/$(LIBNAME) # $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \ # $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS) -$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template +$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template $(TOP)/bin/mklib -noprefix -o $@ \ $(OBJECTS) $(MESA_MODULES) $(WINOBJ) $(DRI_LIB_DEPS) @@ -99,6 +99,7 @@ clean: -rm -f depend depend.bak install: $(LIBNAME) - install $(LIBNAME) /usr/X11R6/lib/modules/dri/$(LIBNAME) + $(INSTALL) -d $(DRI_DRIVER_INSTALL_DIR) + $(INSTALL) -m 755 $(LIBNAME) $(DRI_DRIVER_INSTALL_DIR) include depend -- cgit v1.2.3