diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 659 |
1 files changed, 210 insertions, 449 deletions
@@ -1,451 +1,212 @@ -# Top-level Mesa makefile - -TOP = . - -SUBDIRS = src progs - - -default: $(TOP)/configs/current - @for dir in $(SUBDIRS) ; do \ - (cd $$dir ; $(MAKE)) || exit 1 ; \ - done - - -doxygen: - (cd doxygen ; make) ; \ - -clean: - @for dir in $(SUBDIRS) ; do \ - (cd $$dir ; $(MAKE) clean) ; \ - done - - -realclean: - touch $(TOP)/configs/current - $(MAKE) clean - -rm -rf lib* - -rm -f $(TOP)/configs/current - -rm -f `find . -name \*.o` - -rm -f `find . -name \*.a` - -rm -f `find . -name \*.so` - -rm -f `find . -name depend` - - +#!/usr/bin/make -f + +INSTALL_DIR=install -d -m 755 +INSTALL_FILE=install -m 644 +INSTALL_PROGRAM=install -m 755 +INSTALL_SYMLINK=ln -s -f +COPY_SYMLINK=cp -a +COPY_DEREFERENCED=cp -RH +RM_FILE=rm -f +RM_DIR=rmdir -p --ignore-fail-on-non-empty + +ETCDIR_NX ?= /etc/nxagent +PREFIX ?= /usr/local +BINDIR ?= $(PREFIX)/bin +LIBDIR ?= $(PREFIX)/lib +SHLIBDIR ?= $(LIBDIR) +NXLIBDIR ?= $(SHLIBDIR)/nx +USRLIBDIR ?= $(NXLIBDIR)/X11 +INCLUDEDIR ?= $(PREFIX)/include +CONFIGURE ?= ./configure --prefix=$(DESTDIR)$(PREFIX) + +# use Xfont2 if available in the build env +FONT_DEFINES ?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/null && echo "-DHAS_XFONT2") +XFONTLIB ?= $(shell pkg-config --modversion xfont2 1>/dev/null 2>/dev/null && echo "-lXfont2" || echo "-lXfont") + +NX_VERSION_MAJOR=$(shell ./version.sh 1) +NX_VERSION_MINOR=$(shell ./version.sh 2) +NX_VERSION_MICRO=$(shell ./version.sh 3) +NX_VERSION_PATCH=$(shell ./version.sh 4) + +SHELL:=/bin/bash + +%: + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi + if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy $@; fi + if test -d nx-X11; then \ + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ + if test -f nx-X11/Makefile; then ${MAKE} -C nx-X11 $@; fi; \ + fi + + # clean auto-generated files + if [ "x$@" == "xclean" ] || [ "x$@" = "xdistclean" ]; then \ + ./mesa-quilt pop -a; \ + rm -Rf nx-X11/extras/Mesa/.pc/; \ + rm -f nx-X11/config/cf/nxversion.def; \ + rm -f nx-X11/config/cf/date.def; \ + rm -f bin/nxagent; \ + rm -f bin/nxproxy; \ + fi + +all: + ${MAKE} build + +test: + echo "No testing for NX (redistributed)" + +build-lite: + cd nxcomp && autoconf && (${CONFIGURE}) && ${MAKE} + cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} + +build-full: +# in the full case, we rely on "magic" in the nx-X11 imake-based makefiles... + cd nxcomp && autoconf && (${CONFIGURE}) && ${MAKE} + + # prepare nx-X11/config/cf/nxversion.def + sed \ + -e 's/###NX_VERSION_MAJOR###/$(NX_VERSION_MAJOR)/' \ + -e 's/###NX_VERSION_MINOR###/$(NX_VERSION_MINOR)/' \ + -e 's/###NX_VERSION_MICRO###/$(NX_VERSION_MICRO)/' \ + -e 's/###NX_VERSION_PATCH###/$(NX_VERSION_PATCH)/' \ + nx-X11/config/cf/nxversion.def.in \ + > nx-X11/config/cf/nxversion.def + + # prepare Makefiles and the nx-X11 symlinking magic + cd nx-X11 && make BuildEnv FONT_DEFINES=$(FONT_DEFINES) + + # build libNX_X11 and libNX_Xext prior to building + # nxcomp{ext,shad}. + cd nx-X11/lib && make + + cd nxcompshad && autoconf && (${CONFIGURE}) && ${MAKE} + + ./mesa-quilt push -a + + cd nx-X11 && ${MAKE} World USRLIBDIR=$(USRLIBDIR) SHLIBDIR=$(SHLIBDIR) FONT_DEFINES=$(FONT_DEFINES) XFONTLIB=$(XFONTLIB) + + cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} + +build: + if ! test -d nx-X11; then \ + ${MAKE} build-lite; \ + else \ + ${MAKE} build-full; \ + fi install: - @echo "Installing" - $(TOP)/bin/installmesa $(DESTDIR) - -# DirectFBGL module installation -linux-directfb-install: - cd src/mesa/drivers/directfb && $(MAKE) install - -# If there's no current configuration file -$(TOP)/configs/current: - @echo - @echo - @echo "Please choose a configuration from the following list:" - @ls -1 $(TOP)/configs | grep -v "current\|default\|CVS" - @echo - @echo "Then type 'make <config>' (ex: 'make linux-x86')" - @echo "(ignore the following error message)" - @exit 1 - - -# Rules to set/install a specific build configuration -aix \ -aix-64 \ -aix-gcc \ -aix-static \ -beos \ -darwin \ -darwin-static \ -freebsd \ -freebsd-dri \ -freebsd-dri-amd64 \ -freebsd-dri-x86 \ -hpux10 \ -hpux10-gcc \ -hpux10-static \ -hpux11-32 \ -hpux11-32-static \ -hpux11-32-static-nothreads \ -hpux11-64 \ -hpux11-64-static \ -hpux9 \ -hpux9-gcc \ -irix6-64 \ -irix6-64-static \ -irix6-n32 \ -irix6-n32-static \ -irix6-o32 \ -irix6-o32-static \ -linux \ -linux-alpha \ -linux-alpha-static \ -linux-debug \ -linux-directfb \ -linux-dri \ -linux-dri-x86 \ -linux-dri-x86-64 \ -linux-dri-ppc \ -linux-indirect \ -linux-fbdev \ -linux-glide \ -linux-icc \ -linux-icc-static \ -linux-osmesa16 \ -linux-osmesa16-static \ -linux-osmesa32 \ -linux-ppc \ -linux-ppc-static \ -linux-solo \ -linux-solo-x86 \ -linux-solo-ia64 \ -linux-sparc \ -linux-sparc5 \ -linux-static \ -linux-ultrasparc \ -linux-tcc \ -linux-x86 \ -linux-x86-debug \ -linux-x86-32 \ -linux-x86-64 \ -linux-x86-64-debug \ -linux-x86-64-static \ -linux-x86-xcb \ -linux-x86-glide \ -linux-x86-static \ -netbsd \ -openbsd \ -osf1 \ -solaris-x86 \ -solaris-x86-gcc \ -sunos4 \ -sunos4-gcc \ -sunos4-static \ -sunos5 \ -sunos5-gcc \ -sunos5-smp \ -ultrix-gcc: - (cd configs && rm -f current && ln -s $@ current) - $(MAKE) default - - -# Rules for making release tarballs - -DIRECTORY = Mesa-6.4.1 -LIB_NAME = MesaLib-6.4.1 -DEMO_NAME = MesaDemos-6.4.1 -GLUT_NAME = MesaGLUT-6.4.1 - -MAIN_FILES = \ - $(DIRECTORY)/Makefile* \ - $(DIRECTORY)/descrip.mms \ - $(DIRECTORY)/mms-config. \ - $(DIRECTORY)/bin/mklib \ - $(DIRECTORY)/bin/installmesa \ - $(DIRECTORY)/configs/[a-z]* \ - $(DIRECTORY)/docs/*.html \ - $(DIRECTORY)/docs/COPYING \ - $(DIRECTORY)/docs/README.* \ - $(DIRECTORY)/docs/RELNOTES* \ - $(DIRECTORY)/docs/VERSIONS \ - $(DIRECTORY)/docs/*.spec \ - $(DIRECTORY)/include/GL/internal/glcore.h \ - $(DIRECTORY)/include/GL/amesa.h \ - $(DIRECTORY)/include/GL/dmesa.h \ - $(DIRECTORY)/include/GL/directfbgl.h \ - $(DIRECTORY)/include/GL/fxmesa.h \ - $(DIRECTORY)/include/GL/ggimesa.h \ - $(DIRECTORY)/include/GL/gl.h \ - $(DIRECTORY)/include/GL/glext.h \ - $(DIRECTORY)/include/GL/gl_mangle.h \ - $(DIRECTORY)/include/GL/glu.h \ - $(DIRECTORY)/include/GL/glu_mangle.h \ - $(DIRECTORY)/include/GL/glx.h \ - $(DIRECTORY)/include/GL/glxext.h \ - $(DIRECTORY)/include/GL/glx_mangle.h \ - $(DIRECTORY)/include/GL/mesa_wgl.h \ - $(DIRECTORY)/include/GL/mglmesa.h \ - $(DIRECTORY)/include/GL/osmesa.h \ - $(DIRECTORY)/include/GL/svgamesa.h \ - $(DIRECTORY)/include/GL/ugl*.h \ - $(DIRECTORY)/include/GL/vms_x_fix.h \ - $(DIRECTORY)/include/GL/wmesa.h \ - $(DIRECTORY)/include/GL/xmesa.h \ - $(DIRECTORY)/include/GL/xmesa_x.h \ - $(DIRECTORY)/include/GL/xmesa_xf86.h \ - $(DIRECTORY)/include/GLView.h \ - $(DIRECTORY)/src/Makefile \ - $(DIRECTORY)/src/descrip.mms \ - $(DIRECTORY)/src/mesa/Makefile* \ - $(DIRECTORY)/src/mesa/sources \ - $(DIRECTORY)/src/mesa/descrip.mms \ - $(DIRECTORY)/src/mesa/depend \ - $(DIRECTORY)/src/mesa/main/*.[chS] \ - $(DIRECTORY)/src/mesa/main/descrip.mms \ - $(DIRECTORY)/src/mesa/glapi/*.[chS] \ - $(DIRECTORY)/src/mesa/glapi/descrip.mms \ - $(DIRECTORY)/src/mesa/array_cache/*.[ch] \ - $(DIRECTORY)/src/mesa/array_cache/descrip.mms \ - $(DIRECTORY)/src/mesa/math/*.[ch] \ - $(DIRECTORY)/src/mesa/math/descrip.mms \ - $(DIRECTORY)/src/mesa/shader/*.[ch] \ - $(DIRECTORY)/src/mesa/shader/descrip.mms \ - $(DIRECTORY)/src/mesa/shader/grammar/*.[ch] \ - $(DIRECTORY)/src/mesa/shader/grammar/descrip.mms \ - $(DIRECTORY)/src/mesa/shader/slang/*.[ch] \ - $(DIRECTORY)/src/mesa/shader/slang/descrip.mms \ - $(DIRECTORY)/src/mesa/shader/slang/library/*.[ch] \ - $(DIRECTORY)/src/mesa/swrast/*.[ch] \ - $(DIRECTORY)/src/mesa/swrast/descrip.mms \ - $(DIRECTORY)/src/mesa/swrast_setup/*.[ch] \ - $(DIRECTORY)/src/mesa/swrast_setup/descrip.mms \ - $(DIRECTORY)/src/mesa/tnl/*.[chS] \ - $(DIRECTORY)/src/mesa/tnl/descrip.mms \ - $(DIRECTORY)/src/mesa/tnl_dd/*.[ch] \ - $(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch] \ - $(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm \ - $(DIRECTORY)/src/mesa/drivers/beos/*.cpp \ - $(DIRECTORY)/src/mesa/drivers/beos/Makefile \ - $(DIRECTORY)/src/mesa/drivers/common/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/common/descrip.mms \ - $(DIRECTORY)/src/mesa/drivers/directfb/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/directfb/Makefile \ - $(DIRECTORY)/src/mesa/drivers/dos/*.[chS] \ - $(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c \ - $(DIRECTORY)/src/mesa/drivers/glide/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/ggi/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/ggi/ggimesa.conf.in \ - $(DIRECTORY)/src/mesa/drivers/ggi/default/*.c \ - $(DIRECTORY)/src/mesa/drivers/ggi/default/genkgi.conf.in \ - $(DIRECTORY)/src/mesa/drivers/ggi/display/*.c \ - $(DIRECTORY)/src/mesa/drivers/ggi/display/fbdev.conf.in \ - $(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \ - $(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \ - $(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms \ - $(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \ - $(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/svga/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/windows/*/*.def \ - $(DIRECTORY)/src/mesa/drivers/x11/descrip.mms \ - $(DIRECTORY)/src/mesa/drivers/x11/*.[ch] \ - $(DIRECTORY)/src/mesa/ppc/*.[ch] \ - $(DIRECTORY)/src/mesa/sparc/*.[chS] \ - $(DIRECTORY)/src/mesa/x86/Makefile \ - $(DIRECTORY)/src/mesa/x86/*.[ch] \ - $(DIRECTORY)/src/mesa/x86/*.S \ - $(DIRECTORY)/src/mesa/x86/rtasm/*.[ch] \ - $(DIRECTORY)/src/mesa/x86-64/*.[chS] \ - $(DIRECTORY)/src/mesa/x86-64/Makefile \ - $(DIRECTORY)/progs/Makefile \ - $(DIRECTORY)/progs/util/README \ - $(DIRECTORY)/progs/util/*.[ch] \ - $(DIRECTORY)/progs/util/sampleMakefile \ - $(DIRECTORY)/vms/analyze_map.com \ - $(DIRECTORY)/vms/xlib.opt \ - $(DIRECTORY)/vms/xlib_share.opt \ - $(DIRECTORY)/windows/VC6/mesa/gdi/gdi.dsp \ - $(DIRECTORY)/windows/VC6/mesa/glu/*.txt \ - $(DIRECTORY)/windows/VC6/mesa/glu/glu.dsp \ - $(DIRECTORY)/windows/VC6/mesa/mesa.dsw \ - $(DIRECTORY)/windows/VC6/mesa/mesa/mesa.dsp \ - $(DIRECTORY)/windows/VC6/mesa/osmesa/osmesa.dsp \ - $(DIRECTORY)/windows/VC7/mesa/gdi/gdi.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/glu/glu.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/mesa.sln \ - $(DIRECTORY)/windows/VC7/mesa/mesa/mesa.vcproj \ - $(DIRECTORY)/windows/VC7/mesa/osmesa/osmesa.vcproj - -DRI_FILES = \ - $(DIRECTORY)/include/GL/internal/dri_interface.h \ - $(DIRECTORY)/include/GL/internal/sarea.h \ - $(DIRECTORY)/src/glx/Makefile \ - $(DIRECTORY)/src/glx/x11/Makefile \ - $(DIRECTORY)/src/glx/x11/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/dri/Makefile \ - $(DIRECTORY)/src/mesa/drivers/dri/Makefile.template \ - $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch] \ - $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po \ - $(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS] \ - $(DIRECTORY)/src/mesa/drivers/dri/*/Makefile \ - $(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile \ - $(DIRECTORY)/src/mesa/drivers/dri/*/server/*.[ch] - -SGI_GLU_FILES = \ - $(DIRECTORY)/src/glu/Makefile \ - $(DIRECTORY)/src/glu/descrip.mms \ - $(DIRECTORY)/src/glu/sgi/Makefile \ - $(DIRECTORY)/src/glu/sgi/Makefile.win \ - $(DIRECTORY)/src/glu/sgi/Makefile.DJ \ - $(DIRECTORY)/src/glu/sgi/glu.def \ - $(DIRECTORY)/src/glu/sgi/dummy.cc \ - $(DIRECTORY)/src/glu/sgi/descrip.mms \ - $(DIRECTORY)/src/glu/sgi/mesaglu.opt \ - $(DIRECTORY)/src/glu/sgi/include/gluos.h \ - $(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h \ - $(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc \ - $(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h \ - $(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc \ - $(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h \ - $(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc \ - $(DIRECTORY)/src/glu/sgi/libtess/README \ - $(DIRECTORY)/src/glu/sgi/libtess/alg-outline \ - $(DIRECTORY)/src/glu/sgi/libtess/*.[ch] \ - $(DIRECTORY)/src/glu/sgi/libutil/*.[ch] - -MESA_GLU_FILES = \ - $(DIRECTORY)/src/glu/mesa/README[12] \ - $(DIRECTORY)/src/glu/mesa/Makefile* \ - $(DIRECTORY)/src/glu/mesa/descrip.mms \ - $(DIRECTORY)/src/glu/mesa/mms_depend \ - $(DIRECTORY)/src/glu/mesa/*.def \ - $(DIRECTORY)/src/glu/mesa/depend \ - $(DIRECTORY)/src/glu/mesa/*.[ch] - -GLW_FILES = \ - $(DIRECTORY)/src/glw/*.[ch] \ - $(DIRECTORY)/src/glw/Makefile* \ - $(DIRECTORY)/src/glw/README \ - $(DIRECTORY)/src/glw/depend - -DEMO_FILES = \ - $(DIRECTORY)/progs/beos/*.cpp \ - $(DIRECTORY)/progs/beos/Makefile \ - $(DIRECTORY)/progs/images/*.rgb \ - $(DIRECTORY)/progs/images/*.rgba \ - $(DIRECTORY)/progs/demos/Makefile* \ - $(DIRECTORY)/progs/demos/descrip.mms \ - $(DIRECTORY)/progs/demos/*.[ch] \ - $(DIRECTORY)/progs/demos/*.cxx \ - $(DIRECTORY)/progs/demos/*.dat \ - $(DIRECTORY)/progs/demos/README \ - $(DIRECTORY)/progs/osdemos/Makefile \ - $(DIRECTORY)/progs/osdemos/*.c \ - $(DIRECTORY)/progs/xdemos/Makefile* \ - $(DIRECTORY)/progs/xdemos/descrip.mms \ - $(DIRECTORY)/progs/xdemos/*.[chf] \ - $(DIRECTORY)/progs/redbook/Makefile* \ - $(DIRECTORY)/progs/redbook/README \ - $(DIRECTORY)/progs/redbook/*.[ch] \ - $(DIRECTORY)/progs/samples/Makefile* \ - $(DIRECTORY)/progs/samples/README \ - $(DIRECTORY)/progs/samples/*.c \ - $(DIRECTORY)/progs/windml/Makefile.ugl \ - $(DIRECTORY)/progs/windml/*.c \ - $(DIRECTORY)/progs/windml/*.bmp \ - $(DIRECTORY)/progs/ggi/*.c \ - $(DIRECTORY)/windows/VC6/progs/demos/*.dsp \ - $(DIRECTORY)/windows/VC6/progs/progs.dsw \ - $(DIRECTORY)/windows/VC7/progs/demos/*.vcproj \ - $(DIRECTORY)/windows/VC7/progs/progs.sln - -GLUT_FILES = \ - $(DIRECTORY)/include/GL/glut.h \ - $(DIRECTORY)/include/GL/glutf90.h \ - $(DIRECTORY)/src/glut/glx/Makefile* \ - $(DIRECTORY)/src/glut/glx/depend \ - $(DIRECTORY)/src/glut/glx/*def \ - $(DIRECTORY)/src/glut/glx/descrip.mms \ - $(DIRECTORY)/src/glut/glx/mms_depend \ - $(DIRECTORY)/src/glut/glx/*.[ch] \ - $(DIRECTORY)/src/glut/beos/*.[ch] \ - $(DIRECTORY)/src/glut/beos/*.cpp \ - $(DIRECTORY)/src/glut/beos/Makefile \ - $(DIRECTORY)/src/glut/dos/*.[ch] \ - $(DIRECTORY)/src/glut/dos/Makefile.DJ \ - $(DIRECTORY)/src/glut/dos/PC_HW/*.[chS] \ - $(DIRECTORY)/src/glut/ggi/*.[ch] \ - $(DIRECTORY)/src/glut/ggi/Makefile \ - $(DIRECTORY)/windows/VC6/progs/glut/glut.dsp \ - $(DIRECTORY)/windows/VC7/progs/glut/glut.vcproj - -DEPEND_FILES = \ - $(TOP)/src/mesa/depend \ - $(TOP)/src/glw/depend \ - $(TOP)/src/glut/glx/depend \ - $(TOP)/src/glu/sgi/depend - - -LIB_FILES = $(MAIN_FILES) $(DRI_FILES) $(SGI_GLU_FILES) $(GLW_FILES) - - -# Everything for new a Mesa release: -tarballs: rm_depend lib_gz demo_gz glut_gz lib_bz2 demo_bz2 glut_bz2 lib_zip demo_zip glut_zip md5 - - -rm_depend: - @for dep in $(DEPEND_FILES) ; do \ - rm -f $$dep ; \ - touch $$dep ; \ - done - -lib_gz: - rm -f configs/current ; \ - cd .. ; \ - tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \ - gzip $(LIB_NAME).tar ; \ - mv $(LIB_NAME).tar.gz $(DIRECTORY) - -demo_gz: - cd .. ; \ - tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \ - gzip $(DEMO_NAME).tar ; \ - mv $(DEMO_NAME).tar.gz $(DIRECTORY) - -glut_gz: - cd .. ; \ - tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \ - gzip $(GLUT_NAME).tar ; \ - mv $(GLUT_NAME).tar.gz $(DIRECTORY) - -lib_bz2: - rm -f configs/current ; \ - cd .. ; \ - tar -cf $(LIB_NAME).tar $(LIB_FILES) ; \ - bzip2 $(LIB_NAME).tar ; \ - mv $(LIB_NAME).tar.bz2 $(DIRECTORY) - -demo_bz2: - cd .. ; \ - tar -cf $(DEMO_NAME).tar $(DEMO_FILES) ; \ - bzip2 $(DEMO_NAME).tar ; \ - mv $(DEMO_NAME).tar.bz2 $(DIRECTORY) - -glut_bz2: - cd .. ; \ - tar -cf $(GLUT_NAME).tar $(GLUT_FILES) ; \ - bzip2 $(GLUT_NAME).tar ; \ - mv $(GLUT_NAME).tar.bz2 $(DIRECTORY) - -lib_zip: - rm -f configs/current ; \ - rm -f $(LIB_NAME).zip ; \ - cd .. ; \ - zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \ - mv $(LIB_NAME).zip $(DIRECTORY) - -demo_zip: - rm -f $(DEMO_NAME).zip ; \ - cd .. ; \ - zip -qr $(DEMO_NAME).zip $(DEMO_FILES) ; \ - mv $(DEMO_NAME).zip $(DIRECTORY) - -glut_zip: - rm -f $(GLUT_NAME).zip ; \ - cd .. ; \ - zip -qr $(GLUT_NAME).zip $(GLUT_FILES) ; \ - mv $(GLUT_NAME).zip $(DIRECTORY) - -md5: - @-md5sum $(LIB_NAME).tar.gz - @-md5sum $(LIB_NAME).tar.bz2 - @-md5sum $(LIB_NAME).zip - @-md5sum $(DEMO_NAME).tar.gz - @-md5sum $(DEMO_NAME).tar.bz2 - @-md5sum $(DEMO_NAME).zip - @-md5sum $(GLUT_NAME).tar.gz - @-md5sum $(GLUT_NAME).tar.bz2 - @-md5sum $(GLUT_NAME).zip + $(MAKE) install-lite + [ ! -d nx-X11 ] || $(MAKE) install-full + +install-lite: + # install nxcomp library + $(MAKE) -C nxcomp install + + # install nxproxy wrapper script + $(INSTALL_DIR) $(DESTDIR)$(BINDIR) + sed -e 's|@@NXLIBDIR@@|$(NXLIBDIR)|g' bin/nxproxy.in > bin/nxproxy + $(INSTALL_PROGRAM) bin/nxproxy $(DESTDIR)$(BINDIR) + + # FIXME: the below install logic should work via nxproxy/Makefile.in + # overriding for now... + $(INSTALL_DIR) $(DESTDIR)$(NXLIBDIR)/bin + $(INSTALL_PROGRAM) nxproxy/nxproxy $(DESTDIR)$(NXLIBDIR)/bin + + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/man/man1/ + $(INSTALL_FILE) nxproxy/man/nxproxy.1 $(DESTDIR)$(PREFIX)/share/man/man1/ + gzip $(DESTDIR)$(PREFIX)/share/man/man1/*.1 + +install-full: + # install nxagent wrapper script + $(INSTALL_DIR) $(DESTDIR)$(BINDIR) + sed -e 's|@@NXLIBDIR@@|$(NXLIBDIR)|g' bin/nxagent.in > bin/nxagent + $(INSTALL_PROGRAM) bin/nxagent $(DESTDIR)$(BINDIR) + + $(MAKE) -C nxcompshad install + + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/pixmaps + $(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm $(DESTDIR)$(PREFIX)/share/pixmaps + + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/nx + $(INSTALL_FILE) nx-X11/programs/Xserver/Xext/SecurityPolicy $(DESTDIR)$(PREFIX)/share/nx + + $(INSTALL_DIR) $(DESTDIR)$(NXLIBDIR)/bin + $(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent $(DESTDIR)$(NXLIBDIR)/bin + + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/man/man1/ + $(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1 $(DESTDIR)$(PREFIX)/share/man/man1/ + gzip $(DESTDIR)$(PREFIX)/share/man/man1/*.1 + + # create a clean nx-X11/.build-exports space + rm -Rf nx-X11/.build-exports + mkdir -p nx-X11/.build-exports/include + mkdir -p nx-X11/.build-exports/lib + + # copy headers (for libnx-x11-dev) + cp -aL nx-X11/exports/include/* nx-X11/.build-exports/include + + # copy libs (for libnx-x11), we want the targets of the links + . replace.sh; set -x; find nx-X11/exports/lib/ | grep -F ".so" | while read libpath; do \ + libfile=$$(basename $$libpath); \ + libdir=$$(dirname $$libpath); \ + link=$$(readlink $$libpath); \ + \ + mkdir -p "$$(string_rep "$$libdir" exports .build-exports)"; \ + cp -a "$$(string_rep "$$libpath" "$$libfile" "$$link")" "$$(string_rep "$$libdir" exports .build-exports)"; \ + done; + + $(INSTALL_DIR) $(DESTDIR)$(SHLIBDIR) + $(COPY_SYMLINK) nx-X11/.build-exports/lib/libNX_X11.so $(DESTDIR)$(SHLIBDIR)/ + $(COPY_SYMLINK) nx-X11/.build-exports/lib/libNX_X11.so.6 $(DESTDIR)$(SHLIBDIR)/ + $(COPY_DEREFERENCED) nx-X11/.build-exports/lib/libNX_X11.so.6.2 $(DESTDIR)$(SHLIBDIR)/ + $(INSTALL_DIR) $(DESTDIR)$(USRLIBDIR) + $(INSTALL_SYMLINK) ../../libNX_X11.so.6 $(DESTDIR)$(USRLIBDIR)/libX11.so.6 + $(INSTALL_SYMLINK) ../../libNX_X11.so.6.2 $(DESTDIR)$(USRLIBDIR)/libX11.so.6.2 + + . replace.sh; set -x; find nx-X11/.build-exports/include/{nx*,GL} -type d | \ + while read dirname; do \ + $(INSTALL_DIR) "$$(string_rep "$$dirname" nx-X11/.build-exports/include "$(DESTDIR)$(INCLUDEDIR)/")"; \ + $(INSTALL_FILE) $${dirname}/*.h \ + "$$(string_rep "$$dirname" nx-X11/.build-exports/include "$(DESTDIR)$(INCLUDEDIR)/")"/ || true; \ + done; \ + + $(INSTALL_DIR) $(DESTDIR)/$(ETCDIR_NX) + $(INSTALL_FILE) etc/keystrokes.cfg $(DESTDIR)/$(ETCDIR_NX)/ + $(INSTALL_FILE) etc/nxagent.keyboard $(DESTDIR)$(ETCDIR_NX)/ + + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/nx + $(INSTALL_FILE) nx-X11/lib/X11/XErrorDB $(DESTDIR)$(PREFIX)/share/nx/ + $(INSTALL_FILE) nx-X11/lib/X11/Xcms.txt $(DESTDIR)$(PREFIX)/share/nx/ + $(INSTALL_FILE) VERSION $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxagent + $(INSTALL_FILE) VERSION $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxproxy + +uninstall: + $(MAKE) uninstall-lite + [ ! -d nx-X11 ] || $(MAKE) uninstall-full + +uninstall-lite: + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi + + # uninstall nproxy wrapper script + $(RM_FILE) $(DESTDIR)$(BINDIR)/nxproxy + # FIXME: don't use uninstall rule in nxproxy/Makefile.in, let's do + # it on our own for now... + $(RM_FILE) $(DESTDIR)$(NXLIBDIR)/bin/nxproxy + $(RM_DIR) $(DESTDIR)$(NXLIBDIR)/bin/ + $(RM_FILE) $(DESTDIR)$(PREFIX)/share/man/man1/*.1 + $(RM_FILE) $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxproxy + $(RM_DIR) $(DESTDIR)$(PREFIX)/share/nx/ + +uninstall-full: + for f in nxagent; do \ + $(RM_FILE) $(DESTDIR)$(BINDIR)/$$f; done + + $(RM_FILE) $(DESTDIR)$(PREFIX)/share/nx/VERSION.nxagent + $(RM_DIR) $(DESTDIR)$(PREFIX)/share/nx/ + + if test -d nx-X11; then \ + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ + if test -f nx-X11/Makefile; then \ + if test -d $(NXLIBDIR); then rm -rf $(NXLIBDIR); fi; \ + if test -d $(INCLUDEDIR)/nx; then rm -rf $(INCLUDEDIR)/nx; fi; \ + fi; \ + fi |