New 'install' targets in makefile. See bug 2372.
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 22 Jun 2006 22:50:48 +0000 (22:50 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 22 Jun 2006 22:50:48 +0000 (22:50 +0000)
12 files changed:
Makefile
configs/aix
configs/default
configs/freebsd
progs/Makefile
src/Makefile
src/glu/Makefile
src/glut/glx/Makefile
src/glw/Makefile
src/glx/x11/Makefile
src/mesa/Makefile
src/mesa/drivers/dri/Makefile.template

index 9cdbe32288d484cee5182cecb55cdaeb96daf208..e799ecfae8620ad0b8adfb2de704cd5166c7848c 100644 (file)
--- 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:
index a509732876db1637407608fffad777ad38ee4253..313d4c4fdb39d6eb254bc02bded91673303e0b2c 100644 (file)
@@ -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
index d85ce14eaf72a37a150f51e2fe4f202ce0a26012..ec44c8af2bfa37e2861f97c03d003747d20f6838 100644 (file)
@@ -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
index c390b8bf9c9c7a63e1901b08fa9e57e0668a27f2..782e0c3219d53409c9a9ac9c63dd6b81c1995d26 100644 (file)
@@ -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
 
index 858d628c0a597f5738409374fc9e515d028650e5..d5ec17d43e51fd49fd2c31f7874cea05e0a32fab 100644 (file)
@@ -21,6 +21,8 @@ subdirs:
                fi \
        done
 
+# Dummy install target
+install:
 
 clean:
        @for dir in $(SUBDIRS) tests ; do \
index ffe2dbc6a2f5c4e9bc3b9cf1d3d4c048ed32e488..c6082e8519470d8af00153e84811b063d6cb37bd 100644 (file)
@@ -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)
index 915b95081a94ecb0551617dbf29e20550ad48557..4e02e86da6350d15800cb6605b515bd350a548fd 100644 (file)
@@ -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 \
index 86920aba99d398519f681e97dcdeba0bcb380438..49c775fb2220b0c27524f7ec17a76eb06d761a78 100644 (file)
@@ -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
index e21cbbd405407ed8e3dfac342622803ec20b386a..af25f7dcbc3e8e9a67932fe5e1e9670cdc703075 100644 (file)
@@ -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
index 977967ac2fa3745dbc9f33d97684de6ee89f537a..b33a84e94b5c711b19d0dc5812c527f3c4a4fbe4 100644 (file)
@@ -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:
index 8896bb2869481556534b1cfa20de8222e45f5105..5f171f4757192c9c4e97f8392e60a9a0aaa300f8 100644 (file)
@@ -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
index 4a7a6552ac0ffcc4bee0a285307d2ce7fe0643a1..9d08c44d65316bfe0051b0d139a09470483cf98c 100644 (file)
@@ -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