diff options
Diffstat (limited to 'make/Makefile2')
-rw-r--r-- | make/Makefile2 | 962 |
1 files changed, 0 insertions, 962 deletions
diff --git a/make/Makefile2 b/make/Makefile2 deleted file mode 100644 index 4fa84b2b0..000000000 --- a/make/Makefile2 +++ /dev/null @@ -1,962 +0,0 @@ -# -# Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# - Redistribution of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# - Redistribution in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# Neither the name of Sun Microsystems, Inc. or the names of -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# This software is provided "AS IS," without a warranty of any kind. ALL -# EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, -# INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A -# PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN -# MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR -# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR -# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR -# ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR -# DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE -# DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, -# ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF -# SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. -# -# You acknowledge that this software is not designed or intended for use -# in the design, construction, operation or maintenance of any nuclear -# facility. -# -# Sun gratefully acknowledges that this software was originally authored -# and developed by Kenneth Bradley Russell and Christopher John Kline. -# - - -# -# Note: the following environment variables must be set before invoking this Makefile: -# -# JAVA_HOME Root path to JDK (i.e., C:/jdk1.4) -# -# In addition, when building the win32 target you must choose your -# compiler by defining either VC7 or VC6. These can be set as -# environment variables, or you can define them on the command line -# (e.g., "make VC7=true win32") - -ROOT=.. -# Note: some of these directories are also coded into the .cfg files -SRC_DIR=$(ROOT)/src -BUILD_DIR=$(ROOT)/build -CLASSES_DIR=$(BUILD_DIR)/classes -GENSRC_DIR=$(BUILD_DIR)/gensrc -GENSRC_JAVA_DIR=$(GENSRC_DIR)/classes -GENSRC_NATIVE_DIR=$(GENSRC_DIR)/native -NATIVE_SRC_DIR=$(SRC_DIR)/native -JAVADOC_DIR=$(ROOT)/javadoc_public -JAVADOC_DIR_DEVDOC=$(ROOT)/javadoc_jogl_dev -JAVADOC_LINK=http://java.sun.com/j2se/1.4.1/docs/api/ -JAVA=java -JAVAC=javac -ifdef DEBUG -JAVAC_FLAGS=-g -endif # DEBUG - -OS:=$(patsubst CYGWIN%,Windows%,$(shell uname -s)) -ifneq (,$(findstring Windows,$(OS))) - CP_SEPARATOR=; -else - CP_SEPARATOR=: -endif - -#---------------------------------------------------------------------- -# GlueGen variables -# - -GLUEGEN_DIR=$(SRC_DIR)/net/java/games/gluegen -CGRAM_DIR =$(SRC_DIR)/net/java/games/gluegen/cgram -GENSRC_CGRAM_DIR =$(GENSRC_JAVA_DIR)/net/java/games/gluegen/cgram -PCPP_DIR =$(SRC_DIR)/net/java/games/gluegen/pcpp - -GG_GENERATED_JAVAFILES = \ - $(GENSRC_CGRAM_DIR)/StdCParser.java \ - $(GENSRC_CGRAM_DIR)/StdCLexer.java \ - $(GENSRC_CGRAM_DIR)/STDCTokenTypes.java \ - $(GENSRC_CGRAM_DIR)/GnuCParser.java \ - $(GENSRC_CGRAM_DIR)/GnuCLexer.java \ - $(GENSRC_CGRAM_DIR)/GnuCLexerTokenTypes.java \ - $(GENSRC_CGRAM_DIR)/GnuCTreeParser.java \ - $(GENSRC_CGRAM_DIR)/GnuCTreeParserTokenTypes.java \ - $(GENSRC_CGRAM_DIR)/GnuCEmitter.java \ - $(GENSRC_CGRAM_DIR)/GnuCEmitterTokenTypes.java \ - $(GENSRC_CGRAM_DIR)/GNUCTokenTypes.java \ - $(GENSRC_CGRAM_DIR)/HeaderParser.java \ - $(GENSRC_CGRAM_DIR)/HeaderParserTokenTypes.java - -GG_GENERATED_GFILES = \ - $(CGRAM_DIR)/expandedGnuCEmitter.g \ - $(CGRAM_DIR)/expandedGnuCParser.g \ - $(CGRAM_DIR)/expandedHeaderParser.g - -GG_GENERATED_TXTFILES = \ - $(CGRAM_DIR)/GNUCTokenTypes.txt \ - $(CGRAM_DIR)/GnuCTreeParserTokenTypes.txt \ - $(CGRAM_DIR)/GnuCEmitterTokenTypes.txt \ - $(CGRAM_DIR)/GnuCLexerTokenTypes.txt \ - $(CGRAM_DIR)/HeaderParserTokenTypes.txt \ - $(CGRAM_DIR)/STDCTokenTypes.txt - -GG_JAVAFILES = \ - $(CGRAM_DIR)/CSymbolTable.java \ - $(CGRAM_DIR)/CToken.java \ - $(CGRAM_DIR)/Define.java \ - $(CGRAM_DIR)/LineObject.java \ - $(CGRAM_DIR)/PreprocessorInfoChannel.java \ - $(CGRAM_DIR)/TNode.java \ - $(CGRAM_DIR)/TNodeFactory.java \ - $(CGRAM_DIR)/types/ArrayType.java \ - $(CGRAM_DIR)/types/BitType.java \ - $(CGRAM_DIR)/types/CVAttributes.java \ - $(CGRAM_DIR)/types/CompoundType.java \ - $(CGRAM_DIR)/types/CompoundTypeKind.java \ - $(CGRAM_DIR)/types/DoubleType.java \ - $(CGRAM_DIR)/types/EnumType.java \ - $(CGRAM_DIR)/types/Field.java \ - $(CGRAM_DIR)/types/FloatType.java \ - $(CGRAM_DIR)/types/FunctionSymbol.java \ - $(CGRAM_DIR)/types/FunctionType.java \ - $(CGRAM_DIR)/types/IntType.java \ - $(CGRAM_DIR)/types/MachineDescription.java \ - $(CGRAM_DIR)/types/MachineDescription32Bit.java \ - $(CGRAM_DIR)/types/PointerType.java \ - $(CGRAM_DIR)/types/PrimitiveType.java \ - $(CGRAM_DIR)/types/Type.java \ - $(CGRAM_DIR)/types/TypeDictionary.java \ - $(CGRAM_DIR)/types/TypeVisitor.java \ - $(CGRAM_DIR)/types/VoidType.java \ - $(PCPP_DIR)/PCPP.java \ - $(GLUEGEN_DIR)/CodeGenUtils.java \ - $(GLUEGEN_DIR)/CMethodBindingEmitter.java \ - $(GLUEGEN_DIR)/CMethodBindingImplEmitter.java \ - $(GLUEGEN_DIR)/CommentEmitter.java \ - $(GLUEGEN_DIR)/DebugEmitter.java \ - $(GLUEGEN_DIR)/FunctionEmitter.java \ - $(GLUEGEN_DIR)/GlueEmitter.java \ - $(GLUEGEN_DIR)/GlueEmitterControls.java \ - $(GLUEGEN_DIR)/GlueGen.java \ - $(GLUEGEN_DIR)/JavaConfiguration.java \ - $(GLUEGEN_DIR)/JavaEmitter.java \ - $(GLUEGEN_DIR)/JavaMethodBindingEmitter.java \ - $(GLUEGEN_DIR)/JavaMethodBindingImplEmitter.java \ - $(GLUEGEN_DIR)/JavaType.java \ - $(GLUEGEN_DIR)/MethodBinding.java \ - $(GLUEGEN_DIR)/ArrayTypes.java \ - $(GLUEGEN_DIR)/ReferencedStructs.java \ - $(GLUEGEN_DIR)/StructLayout.java \ - $(GLUEGEN_DIR)/TypeInfo.java \ - $(GLUEGEN_DIR)/runtime/BufferFactory.java \ - $(GLUEGEN_DIR)/runtime/ProcAddressHelper.java \ - $(GLUEGEN_DIR)/runtime/StructAccessor.java \ - $(GLUEGEN_DIR)/opengl/ConvertFromGL4Java.java \ - $(GLUEGEN_DIR)/opengl/CGLPAWrapperEmitter.java \ - $(GLUEGEN_DIR)/opengl/GLEmitter.java \ - $(GLUEGEN_DIR)/opengl/JavaGLPAWrapperEmitter.java \ - $(GG_GENERATED_JAVAFILES) - -GG_CLASSFILES = $(patsubst $(GENSRC_JAVA_DIR)/%,$(CLASSES_DIR)/%,$(patsubst $(SRC_DIR)/%,$(CLASSES_DIR)/%,$(GG_JAVAFILES:.java=.class))) - - - -#---------------------------------------------------------------------- -# package-independent variables -# - -# The following variables must be set: -# -# JOGL_STUB_INCLUDES_DIR_PD The platform-dependent stub_includes dir for the current platform -# JOGL_STUB_INCLUDES_DIRS_PD List of the PD stub_includes dirs that need to be searched -# DSO_EXTENSION_PD File extension for dynamic link libraries (e.g., dll / so) -# JAVA_INCLUDE_PATH_PD Path to PD java includes, E.g., $(JAVA_HOME)/include/win32 -# JAVA_LIBRARY_PATH_PD Path to PD java libraries -# INCLUDE_PATH_ROOT_PD The base path to the PD OS include directory (i.e., "/usr/include") -# LIB_PATH_ROOT_PD The base path to the PD OS library directory (i.e., "/usr/lib") -# CC Name of the C compiler -# CFLAGS Flags to pass to the C compiler -# LINK Name of the C linker -# LINKFLAGS Flags to pass to the C linker - -JOGL_STUB_INCLUDES_DIR=stub_includes -JOGL_STUB_INCLUDES_DIR_WIN32=$(JOGL_STUB_INCLUDES_DIR)/win32 -JOGL_STUB_INCLUDES_DIR_X11=$(JOGL_STUB_INCLUDES_DIR)/x11 -JOGL_STUB_INCLUDES_DIR_MACOSX=$(JOGL_STUB_INCLUDES_DIR)/macosx - -JOGL_STUB_INCLUDES_WIN32 = \ - $(JOGL_STUB_INCLUDES_DIR_WIN32)/jni.h \ - $(JOGL_STUB_INCLUDES_DIR_WIN32)/jni_md.h \ - $(JOGL_STUB_INCLUDES_DIR_WIN32)/windows.h \ - $(JOGL_STUB_INCLUDES_DIR_WIN32)/wingdi.h - -JOGL_STUB_INCLUDES_MACOSX = \ - $(JOGL_STUB_INCLUDES_DIR_MACOSX)/jni.h \ - $(JOGL_STUB_INCLUDES_DIR_MACOSX)/jni_md.h - -JOGL_STUB_INCLUDES_X11 = \ - $(JOGL_STUB_INCLUDES_DIR_X11)/jni.h \ - $(JOGL_STUB_INCLUDES_DIR_X11)/jni_md.h \ - $(JOGL_STUB_INCLUDES_DIR_X11)/X11/Intrinsic.h \ - $(JOGL_STUB_INCLUDES_DIR_X11)/X11/X.h \ - $(JOGL_STUB_INCLUDES_DIR_X11)/X11/Xlib.h \ - $(JOGL_STUB_INCLUDES_DIR_X11)/X11/Xutil.h - -JOGL_GLUEGEN_INCLUDES = $(patsubst %,-I%,$(JOGL_STUB_INCLUDES_DIRS_PD)) -JAVA_INCLUDE_PATH=$(JAVA_HOME)/include - -# make overly-complicated path to ../build/obj to avoid makefile warning about duplicate targets -OBJ_DIR = ../build/obj -DSO_DIR = ../build/obj - -# Package-independent Win32 settings -ifeq ($(MAKECMDGOALS),win32) -JOGL_STUB_INCLUDES_DIR_PD=$(JOGL_STUB_INCLUDES_DIR_WIN32) -JOGL_STUB_INCLUDES_DIRS_PD=$(JOGL_STUB_INCLUDES_DIR_WIN32) $(JOGL_STUB_INCLUDES_DIR_X11) $(JOGL_STUB_INCLUDES_DIR_MACOSX) -JAVA_INCLUDE_PATH_PD=$(JAVA_INCLUDE_PATH)/win32 -JAVA_LIBRARY_PATH_PD=$(JAVA_HOME)/lib - -# Visual C++ 6.0 compiler options -ifdef VC6 -ifdef DEBUG -OPTFLAGS=/MD /W3 /O2 /Ob1 /GF /Gy -# !!! FIXME: put in debug flags -DEBUGFLAGS= -else -OPTFLAGS=/MD /W3 /O2 /Ob1 /GF /Gy -DEBUGFLAGS= -endif # DEBUG -INCLUDE_PATH_ROOT_PD=C:/Program Files/Microsoft Visual Studio/VC98 -LIB_PATH_ROOT_PD=C:/Program Files/Microsoft Visual Studio/VC98 -# FIXME: is this VCPATHS variable correct for VC6? -VCPATHS=C:\Program Files\Common Files\Microsoft Shared\VSA\7.0\VsaEnv\; -endif # VC6 - -# Visual C++ 7.0 compiler options -ifdef VC7 -ifdef DEBUG -OPTFLAGS=/MDd /Yd /GS /RTCs /RTCu /RTCc /W3 /Od /GF /EHsc /Zi /GS /Gy /Wp64 -DEBUGFLAGS=/Zi -DEFINES=/D "_DEBUG" -else -OPTFLAGS=/MD /W3 /O2 /Ob1 /GF /EHsc /GS /Gy /Wp64 -DEBUGFLAGS=/D "NDEBUG" -DEFINES= -endif # DEBUG -INCLUDE_PATH_ROOT_PD=C:\Program Files\Microsoft Visual Studio .NET\Vc7 -LIB_PATH_ROOT_PD=C:\Program Files\Microsoft Visual Studio .NET\Vc7 -VCPATHS=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\;C:\Program Files\Common Files\Microsoft Shared\VSA\7.0\VsaEnv\; -endif # VC7 - -DEFINES:=$(DEFINES) /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MBCS" /D "_WINDLL" -INCLUDES=/I"$(INCLUDE_PATH_ROOT_PD)\PlatformSDK\Include" /I"$(INCLUDE_PATH_ROOT_PD)\include" /I"$(JAVA_INCLUDE_PATH)" /I"$(JAVA_INCLUDE_PATH_PD)" -CFLAGS=$(OPTFLAGS) $(DEBUGFLAGS) /nologo /TC -CC=cl.exe -OBJ_FILE_EXT=obj -LINK=link.exe -LINKFLAGS=/DLL /LIBPATH:"$(LIB_PATH_ROOT_PD)\PlatformSDK\lib" /LIBPATH:"$(LIB_PATH_ROOT_PD)\lib" /LIBPATH:"$(JAVA_LIBRARY_PATH_PD)" /INCREMENTAL:NO /NOLOGO /MACHINE:IX86 /OPT:REF /OPT:ICF /SUBSYSTEM:WINDOWS $(LINKFLAGS_DEBUG) -ifdef DEBUG -LINKFLAGS:=/DEBUG $(LINKFLAGS) -endif # DEBUG -DSO_EXTENSION_PD=dll - -# Export a specific path so that the C compiler and its libraries can be located -Path:=$(VCPATHS);$(Path) -export Path -endif # WIN32 - -# Package-independent macosx settings -ifeq ($(MAKECMDGOALS), macosx) -JOGL_STUB_INCLUDES_DIR_PD=$(JOGL_STUB_INCLUDES_DIR_MACOSX) -JOGL_STUB_INCLUDES_DIRS_PD=$(JOGL_STUB_INCLUDES_DIR_MACOSX) $(JOGL_STUB_INCLUDES_DIR_X11) $(JOGL_STUB_INCLUDES_DIR_WIN32) -JAVA_INCLUDE_PATH_PD=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers -INCLUDE_PATH_ROOT_PD=/usr/include -OS := macosx -JAVA_LIBRARY_PATH_PD=/System/Library/Frameworks/JavaVM.framework/Libraries -CC=gcc -ifdef DEBUG - OPTFLAGS=-g -Dmacosx -else - OPTFLAGS=-O2 -Dmacosx -endif -LINK=gcc -LINKFLAGS_DEBUG= -LINKFLAGS= -ifdef DEBUG - LINKFLAGS:=$(LINKFLAGS) -g -endif -LIB_PATH_ROOT_PD=/usr/lib -LINKFLAGS:=$(LINKFLAGS) -L$(LIB_PATH_ROOT_PD) -L$(JAVA_LIBRARY_PATH_PD) -DEFINES:=$(DEFINES) -INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I"$(JAVA_INCLUDE_PATH)" -I"$(JAVA_INCLUDE_PATH_PD)" -CFLAGS=$(OPTFLAGS) $(DEBUGFLAGS) -OBJ_FILE_EXT=o -DSO_PREFIX_PD=lib -DSO_EXTENSION_PD=jnilib -endif # macosx - -# Package-independent x11 settings -ifeq ($(MAKECMDGOALS), x11) -JOGL_STUB_INCLUDES_DIR_PD=$(JOGL_STUB_INCLUDES_DIR_X11) -JOGL_STUB_INCLUDES_DIRS_PD=$(JOGL_STUB_INCLUDES_DIR_X11) $(JOGL_STUB_INCLUDES_DIR_WIN32) $(JOGL_STUB_INCLUDES_DIR_MACOSX) -JAVA_INCLUDE_PATH_PD=$(JAVA_INCLUDE_PATH)/$(OS) -INCLUDE_PATH_ROOT_PD=/usr/include -ifeq ($(OS), Linux) - OS := linux - JAVA_LIBRARY_PATH_PD=$(JAVA_HOME)/jre/lib/i386 - CC=gcc - ifdef DEBUG - OPTFLAGS= - else - OPTFLAGS=-O2 - endif - LINK=gcc - LINKFLAGS_DEBUG= - LINKFLAGS=-shared - ifdef DEBUG - LINKFLAGS:=$(LINKFLAGS) -g - endif -endif # Linux -ifeq ($(OS), SunOS) - CPU := $(shell uname -p) - OS := solaris - JAVA_LIBRARY_PATH_PD=$(JAVA_HOME)/jre/lib/$(CPU) - CC=cc - DEFINES= - ifdef DEBUG - OPTFLAGS= - else - OPTFLAGS=-xO0 -KPIC - endif - LINK=cc - LINKFLAGS=-G - ifdef DEBUG - # !!! FIXME: is this correct debug flag for solaris? - LINKFLAGS:=$(LINKFLAGS) -g - endif -endif # Sun0S -LIB_PATH_ROOT_PD=/usr/lib -LINKFLAGS:=$(LINKFLAGS) -L$(LIB_PATH_ROOT_PD) -L$(JAVA_LIBRARY_PATH_PD) -DEFINES:=$(DEFINES) -INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I"$(JAVA_INCLUDE_PATH)" -I"$(JAVA_INCLUDE_PATH_PD)" -# -I$(INCLUDE_PATH_ROOT_PD) -CFLAGS=$(OPTFLAGS) $(DEBUGFLAGS) -OBJ_FILE_EXT=o -DSO_PREFIX_PD=lib -DSO_EXTENSION_PD=so -endif # x11 - - - -# -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# jogl variables -# - -NATIVE_GL_SRC_DIR=$(SRC_DIR)/native/jogl -GENSRC_GL_NATIVE_DIR=$(GENSRC_NATIVE_DIR)/jogl - -JOGL_DIR=$(SRC_DIR)/net/java/games/jogl -JOGL_IMPL_DIR=$(SRC_DIR)/net/java/games/jogl/impl -JOGL_UTIL_DIR=$(SRC_DIR)/net/java/games/jogl/util -GENSRC_JOGL_DIR=$(GENSRC_JAVA_DIR)/net/java/games/jogl -GENSRC_JOGL_IMPL_DIR=$(GENSRC_JAVA_DIR)/net/java/games/jogl/impl - -JOGL_GLU_DIR=$(JOGL_DIR) -JOGL_GLU_IMPL_DIR=$(JOGL_IMPL_DIR) -GENSRC_JOGL_GLU_DIR=$(GENSRC_JOGL_DIR) -GENSRC_JOGL_GLU_IMPL_DIR=$(GENSRC_JOGL_IMPL_DIR) - -JOGL_STUB_INCLUDES_DIR_OPENGL=$(JOGL_STUB_INCLUDES_DIR)/opengl - -JOGL_OBJ_DIR = $(OBJ_DIR)/jogl -JOGL_DSO_DIR = $(DSO_DIR) -JOGL_DSO=$(JOGL_DSO_DIR)/$(DSO_PREFIX_PD)jogl.$(DSO_EXTENSION_PD) -JOGL_JAR=$(BUILD_DIR)/jogl.jar - -JOGL_JAVAFILES_WINDOWS = \ - $(JOGL_IMPL_DIR)/windows/WindowsGLContext.java \ - $(JOGL_IMPL_DIR)/windows/WindowsGLContextFactory.java \ - $(JOGL_IMPL_DIR)/windows/WindowsOnscreenGLContext.java \ - $(JOGL_IMPL_DIR)/windows/WindowsOffscreenGLContext.java \ - $(JOGL_IMPL_DIR)/windows/WindowsPbufferGLContext.java - -JOGL_GENERATED_JAVAFILES_WINDOWS = \ - $(GENSRC_JOGL_IMPL_DIR)/windows/BITMAPINFO.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/BITMAPINFOHEADER.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/GLProcAddressTable.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/JAWT_Win32DrawingSurfaceInfo.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/PIXELFORMATDESCRIPTOR.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/RGBQUAD.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/WGL.java \ - $(GENSRC_JOGL_IMPL_DIR)/windows/WindowsGLImpl.java - -JOGL_GENERATED_CFILES_WINDOWS = \ - $(GENSRC_GL_NATIVE_DIR)/WindowsGLImpl_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/WGL_JNI.c - -JOGL_JAVAFILES_X11 = \ - $(JOGL_IMPL_DIR)/x11/X11GLContext.java \ - $(JOGL_IMPL_DIR)/x11/X11GLContextFactory.java \ - $(JOGL_IMPL_DIR)/x11/X11OnscreenGLContext.java \ - $(JOGL_IMPL_DIR)/x11/X11OffscreenGLContext.java \ - $(JOGL_IMPL_DIR)/x11/X11PbufferGLContext.java - -JOGL_GENERATED_JAVAFILES_X11 = \ - $(GENSRC_JOGL_IMPL_DIR)/x11/GLProcAddressTable.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/GLX.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/GLXFBConfig.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/GLXProcAddressTable.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/JAWT_X11DrawingSurfaceInfo.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/X11GLImpl.java \ - $(GENSRC_JOGL_IMPL_DIR)/x11/XVisualInfo.java - -JOGL_GENERATED_CFILES_X11 = \ - $(GENSRC_GL_NATIVE_DIR)/GLX_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/JAWT_X11DrawingSurfaceInfo_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/X11GLImpl_JNI.c - -JOGL_JAVAFILES_MACOSX = \ - $(JOGL_IMPL_DIR)/macosx/MacOSXGLContext.java \ - $(JOGL_IMPL_DIR)/macosx/MacOSXGLContextFactory.java \ - $(JOGL_IMPL_DIR)/macosx/MacOSXOnscreenGLContext.java \ - $(JOGL_IMPL_DIR)/macosx/MacOSXOffscreenGLContext.java \ - $(JOGL_IMPL_DIR)/macosx/MacOSXDummyGLContext.java - -JOGL_GENERATED_JAVAFILES_MACOSX = \ - $(GENSRC_JOGL_IMPL_DIR)/macosx/CGL.java \ - $(GENSRC_JOGL_IMPL_DIR)/macosx/GLProcAddressTable.java \ - $(GENSRC_JOGL_IMPL_DIR)/macosx/JAWT_MacOSXDrawingSurfaceInfo.java \ - $(GENSRC_JOGL_IMPL_DIR)/macosx/MacOSXGLImpl.java - -JOGL_GENERATED_CFILES_MACOSX = \ - $(GENSRC_GL_NATIVE_DIR)/CGL_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/MacOSXGLImpl_JNI.c - -# The following variables must be set by in the appropriate -# platform-dependent (PD) section below: -# -# JOGL_STUB_INCLUDES_PD All of the files in the PD stub_includes dir -# (multiple directories are needed to pick up e.g. wglext.h, -# glxext.h, and cglext.h on all platforms) -# JOGL_JAVAFILES_PD The platform-dependent Java files -# JOGL_GENERATED_JAVAFILES_PD The platform-dependent GlueGen-generated Java files -# JOGL_CFG Name of the gl.cfg file -# JOGL_IMPL_CFG Name of the gl-impl.cfg file -# JOGL_JAWT_CFG Name of the jawt.cfg file -# JOGL_WINDOW_SYSTEM_CFG Name of the e.g., wingdi.cfg file which provides internal -# access to core routines in WGL, glX, etc. -# JOGL_GENERATED_CFILES_PD Names of platform-dependent .c files -# JOGL_OBJ_FILES Rule translating names of .c files to .o / .obj -# GL_DEFINES Symbol definitions to pass to the C compiler on the command line -# GL_INCLUDES Include files to pass to the C compiler on the command line -# GL_C_BUILD_OBJ_CMD Command to build an a object file from C source -# GL_LINKFLAGS Flags to pass to the linker on the command line -# GL_C_LINK_DSO_CMD Command to link the GL shared library -# JOGL_PD_CFILES Any platform-dependent "C" sources (currently only used on Mac OS X for -# an Objective C file) - -# Win32-specific settings for jogl -ifeq ($(MAKECMDGOALS),win32) -JOGL_STUB_INCLUDES_PD=$(JOGL_STUB_INCLUDES_WIN32) -JOGL_JAVAFILES_PD=$(JOGL_JAVAFILES_WINDOWS) -JOGL_GENERATED_JAVAFILES_PD=$(JOGL_GENERATED_JAVAFILES_WINDOWS) -JOGL_CFG=gl-win32.cfg -JOGL_IMPL_CFG=gl-impl-win32.cfg -JOGL_GLU_CFG=glu.cfg -JOGL_GLU_IMPL_CFG=glu-impl-win32.cfg -JOGL_JAWT_CFG=jawt-win32.cfg -JOGL_WINDOW_SYSTEM_CFG=wingdi-win32.cfg -JOGL_GENERATED_CFILES_PD=$(JOGL_GENERATED_CFILES_WINDOWS) - -GL_DEFINES=/D "JOGL_EXPORTS" $(DEFINES) -GL_INCLUDES=/I"$(JOGL_STUB_INCLUDES_DIR_OPENGL)" $(INCLUDES) -GL_C_BUILD_OBJ_CMD=$(CC) /c $< $(CFLAGS) $(GL_INCLUDES) $(GL_DEFINES) /Fo"$@" -JOGL_DSO_LINK_ADDITIONAL_LIBS=opengl32.lib glu32.lib jawt.lib gdi32.lib kernel32.lib -GL_LINKFLAGS=$(LINKFLAGS) $(JOGL_DSO_LINK_ADDITIONAL_LIBS) -GL_C_LINK_DSO_CMD=$(LINK) /OUT:"$@" $(GL_LINKFLAGS) -endif # WIN32 - -# X11-specific settings for jogl -ifeq ($(MAKECMDGOALS), x11) -ifeq ($(OS), Linux) -endif # Linux -ifeq ($(OS), SunOS) -endif # SunOS -JOGL_STUB_INCLUDES_PD=$(JOGL_STUB_INCLUDES_X11) -JOGL_JAVAFILES_PD=$(JOGL_JAVAFILES_X11) -JOGL_GENERATED_JAVAFILES_PD=$(JOGL_GENERATED_JAVAFILES_X11) -JOGL_CFG=gl-x11.cfg -JOGL_IMPL_CFG=gl-impl-x11.cfg -JOGL_GLU_CFG=glu.cfg -JOGL_GLU_IMPL_CFG=glu-impl-x11.cfg -JOGL_JAWT_CFG=jawt-x11.cfg -JOGL_WINDOW_SYSTEM_CFG=glx-x11.cfg -JOGL_GENERATED_CFILES_PD=$(JOGL_GENERATED_CFILES_X11) - -GL_DEFINES=$(DEFINES) -GL_INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I"$(JAVA_INCLUDE_PATH)" -I"$(JAVA_INCLUDE_PATH_PD)" $(INCLUDES) -GL_C_BUILD_OBJ_CMD=$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@ -JOGL_DSO_LINK_ADDITIONAL_LIBS= -ljawt -lGL -lGLU -GL_LINKFLAGS=$(LINKFLAGS) $(JOGL_DSO_LINK_ADDITIONAL_LIBS) -GL_C_LINK_DSO_CMD=$(LINK) -o $@ $(GL_LINKFLAGS) -endif # X11 - - -# macosx-specific settings for jogl -ifeq ($(MAKECMDGOALS), macosx) -#this is part of the os -JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home - -JOGL_STUB_INCLUDES_PD=$(JOGL_STUB_INCLUDES_MACOSX) -JOGL_JAVAFILES_PD=$(JOGL_JAVAFILES_MACOSX) -JOGL_GENERATED_JAVAFILES_PD=$(JOGL_GENERATED_JAVAFILES_MACOSX) -JOGL_CFG=gl-macosx.cfg -JOGL_IMPL_CFG=gl-impl-macosx.cfg -JOGL_GLU_CFG=glu.cfg -JOGL_GLU_IMPL_CFG=glu-impl-macosx.cfg -JOGL_JAWT_CFG=jawt-macosx.cfg -JOGL_WINDOW_SYSTEM_CFG=cgl-macosx.cfg -JOGL_GENERATED_CFILES_PD=$(JOGL_GENERATED_CFILES_MACOSX) - -GL_DEFINES=$(DEFINES) -GL_INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I"$(JAVA_INCLUDE_PATH)" -I"$(JAVA_INCLUDE_PATH_PD)" $(INCLUDES) -GL_C_BUILD_OBJ_CMD=$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@ -JOGL_DSO_LINK_ADDITIONAL_LIBS= -framework Cocoa -framework OpenGL -ljawt -GL_LINKFLAGS=$(LINKFLAGS) $(JOGL_DSO_LINK_ADDITIONAL_LIBS) -GL_C_LINK_DSO_CMD=$(LINK) -bundle -o $@ $(GL_LINKFLAGS) -JOGL_PD_CFILES=$(NATIVE_GL_SRC_DIR)/MacOSXWindowSystemInterface.m -endif # macosx - -JOGL_CFG_FILES = $(wildcard gl*.cfg jawt*.cfg wingdi*.cfg glx*.cfg cgl*.cfg) - -JOGL_HEADERS = \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/gl.h \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/glext.h \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/cglext.h \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/glxext.h \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/wglext.h \ - $(JOGL_STUB_INCLUDES_DIR_OPENGL)/GL/glx.h - -JOGL_GENERATED_JAVAFILES = \ - $(GENSRC_JOGL_DIR)/GL.java \ - $(GENSRC_JOGL_DIR)/WGL.java \ - $(GENSRC_JOGL_DIR)/GLX.java \ - $(GENSRC_JOGL_DIR)/CGL.java \ - $(GENSRC_JOGL_GLU_DIR)/GLU.java \ - $(GENSRC_JOGL_GLU_DIR)/GLUquadric.java \ - $(GENSRC_JOGL_GLU_IMPL_DIR)/GLUImpl.java \ - $(GENSRC_JOGL_GLU_IMPL_DIR)/GLUProcAddressTable.java \ - $(GENSRC_JOGL_IMPL_DIR)/JAWT.java \ - $(GENSRC_JOGL_IMPL_DIR)/JAWTFactory.java \ - $(GENSRC_JOGL_IMPL_DIR)/JAWT_DrawingSurface.java \ - $(GENSRC_JOGL_IMPL_DIR)/JAWT_DrawingSurfaceInfo.java \ - $(GENSRC_JOGL_IMPL_DIR)/JAWT_Rectangle.java \ - $(GENSRC_JOGL_IMPL_DIR)/StaticGLInfo.java \ - $(JOGL_GENERATED_JAVAFILES_PD) - -JOGL_JAVAFILES_FIRST_PASS = \ - $(JOGL_DIR)/Animator.java \ - $(JOGL_DIR)/ComponentEvents.java \ - $(JOGL_DIR)/DefaultGLCapabilitiesChooser.java \ - $(JOGL_DIR)/GLCanvas.java \ - $(JOGL_DIR)/GLCapabilities.java \ - $(JOGL_DIR)/GLCapabilitiesChooser.java \ - $(JOGL_DIR)/GLContextHelper.java \ - $(JOGL_DIR)/GLDrawable.java \ - $(JOGL_DIR)/GLDrawableFactory.java \ - $(JOGL_DIR)/GLEventListener.java \ - $(JOGL_DIR)/GLException.java \ - $(JOGL_DIR)/GLJPanel.java \ - $(JOGL_DIR)/GLPbuffer.java \ - $(JOGL_IMPL_DIR)/FunctionAvailabilityCache.java \ - $(JOGL_IMPL_DIR)/GLContext.java \ - $(JOGL_IMPL_DIR)/GLContextFactory.java \ - $(JOGL_IMPL_DIR)/GLContextShareSet.java \ - $(JOGL_IMPL_DIR)/GLDrawableHelper.java \ - $(JOGL_IMPL_DIR)/GLPbufferImpl.java \ - $(JOGL_IMPL_DIR)/JAWT_PlatformInfo.java \ - $(JOGL_IMPL_DIR)/NativeLibLoader.java \ - $(JOGL_UTIL_DIR)/BitmapCharRec.java \ - $(JOGL_UTIL_DIR)/BitmapFontRec.java \ - $(JOGL_UTIL_DIR)/BufferUtils.java \ - $(JOGL_UTIL_DIR)/CoordRec.java \ - $(JOGL_UTIL_DIR)/GLUT.java \ - $(JOGL_UTIL_DIR)/GLUTBitmap8x13.java \ - $(JOGL_UTIL_DIR)/GLUTBitmap9x15.java \ - $(JOGL_UTIL_DIR)/GLUTBitmapHelvetica10.java \ - $(JOGL_UTIL_DIR)/GLUTBitmapHelvetica12.java \ - $(JOGL_UTIL_DIR)/GLUTBitmapHelvetica18.java \ - $(JOGL_UTIL_DIR)/GLUTBitmapTimesRoman10.java \ - $(JOGL_UTIL_DIR)/GLUTBitmapTimesRoman24.java \ - $(JOGL_UTIL_DIR)/GLUTStrokeMonoRoman.java \ - $(JOGL_UTIL_DIR)/GLUTStrokeRoman.java \ - $(JOGL_UTIL_DIR)/StrokeCharRec.java \ - $(JOGL_UTIL_DIR)/StrokeFontRec.java \ - $(JOGL_UTIL_DIR)/StrokeRec.java \ - $(JOGL_JAVAFILES_PD) \ - $(JOGL_GENERATED_JAVAFILES) - - -JOGL_CLASSFILES_FIRST_PASS = $(patsubst $(GENSRC_JAVA_DIR)/%,$(CLASSES_DIR)/%,$(patsubst $(SRC_DIR)/%,$(CLASSES_DIR)/%,$(JOGL_JAVAFILES_FIRST_PASS:.java=.class))) - -BUILD_STATIC_GL_INFO_SRC =$(SRC_DIR)/net/java/games/gluegen/opengl/BuildStaticGLInfo.java -BUILD_STATIC_GL_INFO_CLASS=$(CLASSES_DIR)/net/java/games/gluegen/opengl/BuildStaticGLInfo.class - -BUILD_GL_COMPOSABLE_PIPELINE_SRC =$(SRC_DIR)/net/java/games/gluegen/opengl/BuildComposablePipeline.java -BUILD_GL_COMPOSABLE_PIPELINE_CLASS=$(CLASSES_DIR)/net/java/games/gluegen/opengl/BuildComposablePipeline.class - -GL_COMPOSABLE_PIPELINE_GENERATED_JAVAFILES=$(GENSRC_JOGL_DIR)/DebugGL.java $(GENSRC_JOGL_DIR)/TraceGL.java - -JOGL_JAVAFILES_SECOND_PASS= $(GL_COMPOSABLE_PIPELINE_GENERATED_JAVAFILES) -JOGL_CLASSFILES_SECOND_PASS=$(patsubst $(GENSRC_JAVA_DIR)/%,$(CLASSES_DIR)/%,$(patsubst $(SRC_DIR)/%,$(CLASSES_DIR)/%,$(JOGL_JAVAFILES_SECOND_PASS:.java=.class))) - -JOGL_CLASSFILES = $(JOGL_CLASSFILES_FIRST_PASS) $(JOGL_CLASSFILES_SECOND_PASS) - -JOGL_GENERATED_CFILES = \ - $(GENSRC_GL_NATIVE_DIR)/JAWT_DrawingSurface_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/JAWT_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/JAWTFactory_JNI.c \ - $(GENSRC_GL_NATIVE_DIR)/GLUImpl_JNI.c \ - $(JOGL_GENERATED_CFILES_PD) - -JOGL_CFILES = \ - $(NATIVE_GL_SRC_DIR)/JAWT_DrawingSurfaceInfo.c \ - $(JOGL_PD_CFILES) \ - $(JOGL_GENERATED_CFILES) - -JOGL_OBJS_TMP=$(JOGL_CFILES:.m=.$(OBJ_FILE_EXT)) - -JOGL_OBJ_FILES=$(patsubst $(GENSRC_GL_NATIVE_DIR)/%,$(JOGL_OBJ_DIR)/%,$(patsubst $(NATIVE_GL_SRC_DIR)/%,$(JOGL_OBJ_DIR)/%,$(JOGL_OBJS_TMP:.c=.$(OBJ_FILE_EXT)))) - -# -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# jogl.cg variables -# -# Cg is NVidia's high level language for programmable 3D graphics -# http://www.nvidia.com/cg -# - -# Only build the Cg binding if requested (CG=1 on the make command line) - -ifdef CG - -NATIVE_NVCG_SRC_DIR=$(SRC_DIR)/native/jogl_cg -GENSRC_NVCG_NATIVE_DIR=$(GENSRC_NATIVE_DIR)/jogl_cg - -JOGL_NVCG_DIR=$(SRC_DIR)/net/java/games/cg -JOGL_NVCG_IMPL_DIR=$(SRC_DIR)/net/java/games/cg/impl -GENSRC_JOGL_NVCG_DIR=$(GENSRC_JAVA_DIR)/net/java/games/cg -GENSRC_JOGL_NVCG_IMPL_DIR=$(GENSRC_JAVA_DIR)/net/java/games/cg/impl - -#JOGL_STUB_INCLUDES_DIR_NVCG=C:\Program Files\Nvidia Corporation\Cg\include -JOGL_STUB_INCLUDES_DIR_NVCG=$(JOGL_STUB_INCLUDES_DIR)/cg - -JOGL_NVCG_OBJ_DIR = $(OBJ_DIR)/jogl_cg -JOGL_NVCG_DSO_DIR = $(DSO_DIR) -JOGL_NVCG_DSO= $(JOGL_NVCG_DSO_DIR)/jogl_cg.$(DSO_EXTENSION_PD) - -# Win32-specific settings for jogl.cg -ifeq ($(MAKECMDGOALS),win32) -NVCG_DEFINES=/D "JOGL_NVCG_EXPORTS" $(DEFINES) -NVCG_INCLUDES=/I"$(JOGL_STUB_INCLUDES_DIR_OPENGL)" /I"$(JOGL_STUB_INCLUDES_DIR_NVCG)" $(INCLUDES) -NVCG_C_BUILD_OBJ_CMD=$(CC) /c $< $(CFLAGS) $(NVCG_INCLUDES) $(NVCG_DEFINES) /Fo"$@" -JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS= opengl32.lib cg.lib cgGL.lib /LIBPATH:"C:\Program Files\Nvidia Corporation\Cg\lib" -NVCG_LINKFLAGS= $(LINKFLAGS) $(JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS) -NVCG_C_LINK_DSO_CMD=$(LINK) /OUT:"$@" $(NVCG_LINKFLAGS) -endif # Win32 - -# X11-specific settings for jogl.cg -ifeq ($(MAKECMDGOALS), x11) -NVCG_DEFINES=$(DEFINES) -NVCG_INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I$(JOGL_STUB_INCLUDES_DIR_NVCG) $(INCLUDES) -NVCG_C_BUILD_OBJ_CMD=$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@ -# !!! FIXME: what are the correct libraries on X11? Probably also need to add the library directory to the lib search path -JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS= -lGL -lcg -lcgGL -NVCG_LINKFLAGS=$(LINKFLAGS) -L$(JAVA_LIBRARY_PATH_PD) $(JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS) -NVCG_C_LINK_DSO_CMD=$(LINK) -o $@ $(NVCG_LINKFLAGS) -endif # X11 - -JOGL_NVCG_CFG_FILES = $(wildcard cg*.cfg) - -JOGL_NVCG_CFG=cg-common.cfg - -JOGL_NVCG_HEADERS = \ - $(JOGL_STUB_INCLUDES_DIR_NVCG)/CgGL.h - -JOGL_NVCG_GENERATED_JAVAFILES = \ - $(GENSRC_JOGL_NVCG_DIR)/CgGL.java \ - $(GENSRC_JOGL_NVCG_DIR)/CGcontext.java \ - $(GENSRC_JOGL_NVCG_DIR)/CGparameter.java \ - $(GENSRC_JOGL_NVCG_DIR)/CGprogram.java - -JOGL_NVCG_JAVAFILES = \ - $(JOGL_NVCG_DIR)/CgException.java \ - $(JOGL_NVCG_GENERATED_JAVAFILES) - -JOGL_NVCG_CLASSFILES = $(patsubst $(GENSRC_JAVA_DIR)/%,$(CLASSES_DIR)/%,$(patsubst $(SRC_DIR)/%,$(CLASSES_DIR)/%,$(JOGL_NVCG_JAVAFILES:.java=.class))) - -JOGL_NVCG_GENERATED_CFILES = \ - $(GENSRC_NVCG_NATIVE_DIR)/CgGL_JNI.c - -JOGL_NVCG_CFILES = \ - $(JOGL_NVCG_GENERATED_CFILES) - -JOGL_NVCG_OBJ_FILES=$(patsubst $(GENSRC_NVCG_NATIVE_DIR)/%,$(JOGL_NVCG_OBJ_DIR)/%,$(patsubst $(NATIVE_NVCG_SRC_DIR)/%,$(JOGL_NVCG_OBJ_DIR)/%,$(JOGL_NVCG_CFILES:.c=.$(OBJ_FILE_EXT)))) - -JOGL_NVCG_DSO=$(JOGL_NVCG_DSO_DIR)/jogl_cg.$(DSO_EXTENSION_PD) - -JOGL_NVCG_DOC_PKGS=net.java.games.cg - -endif # ifdef CG - -# -#---------------------------------------------------------------------- - -#---------------------------------------------------------------------- -# Rules -# - -OUTPUT_DIRS = $(OBJ_DIR) $(JOGL_OBJ_DIR) $(JOGL_NVCG_OBJ_DIR) $(JOGL_DSO_DIR) $(GENSRC_JOGL_IMPL_DIR) $(GENSRC_GL_NATIVE_DIR) $(CLASSES_DIR) $(GENSRC_CGRAM_DIR) - -.PHONY: all clean doc devdoc -all: - @echo "********************************************************************************" - @echo "ERROR: You must specify a platform-specific target (win32, x11, macosx, etc.)" - @echo "********************************************************************************" - -doc: - mkdir -p $(JAVADOC_DIR) - javadoc -source 1.4 -d $(JAVADOC_DIR) -link $(JAVADOC_LINK) \ - -public -sourcepath "$(SRC_DIR)$(CP_SEPARATOR)$(GENSRC_JAVA_DIR)" \ - net.java.games.jogl \ - net.java.games.gluegen.runtime \ - net.java.games.jogl.util \ - $(JOGL_NVCG_DOC_PKGS) - -devdoc: - mkdir -p $(JAVADOC_DIR_DEVDOC) - javadoc -source 1.4 -d $(JAVADOC_DIR_DEVDOC) -link $(JAVADOC_LINK) \ - -package -sourcepath "$(SRC_DIR)$(CP_SEPARATOR)$(GENSRC_JAVA_DIR)" \ - net.java.games.jogl \ - net.java.games.jogl.impl \ - net.java.games.jogl.impl.x11 \ - net.java.games.jogl.impl.windows \ - net.java.games.jogl.impl.macosx \ - net.java.games.gluegen \ - net.java.games.gluegen.cgram \ - net.java.games.gluegen.cgram.types \ - net.java.games.gluegen.opengl \ - net.java.games.gluegen.pcpp \ - net.java.games.gluegen.runtime \ - net.java.games.jogl.util \ - $(JOGL_NVCG_DOC_PKGS) - -# (Iff we are not on macosx): print an error if the user has not set JAVA_HOME, since that will cause -# builds to fail -ifneq ($(JAVA_HOME),) - -win32: WIN32_COMPILER_SPECIFIED $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO) $(JOGL_NVCG_DSO) -x11: $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO) -# FIXME: add back the following Cg prerequisites to the above x11 rule -# $(JOGL_NVCG_DSO) -macosx: $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO) - -gluegen: $(GG_CLASSFILES) -else -win32: MUST_SET_JAVA_HOME -x11: MUST_SET_JAVA_HOME -gluegen: MUST_SET_JAVA_HOME -macosx: MUST_SET_JAVA_HOME -MUST_SET_JAVA_HOME: - @echo "********************************************************************************" - @echo "ERROR: You must set the JAVA_HOME environment variable in order to build Jogl." - @echo "********************************************************************************" -endif - -ifdef VC7 -WIN32_COMPILER_SPECIFIED: - @echo "VC7 is defined, using Microsoft Visual C++ 7 compiler for native code." -else -ifdef VC6 -WIN32_COMPILER_SPECIFIED: - @echo "VC6 is defined, using Microsoft Visual C++ 6 compiler for native code." -else -WIN32_COMPILER_SPECIFIED: - @echo "********************************************************************************" - @echo "Must specific compiler for Win32 native code, either VC6 or VC7" - @echo "(e.g., \"make VC6=true win32\")." - @echo "********************************************************************************" - @exit 1 -endif -endif - -clean : - rm -rf $(BUILD_DIR) - rm -f $(GG_GENERATED_GFILES) - rm -f $(GG_GENERATED_TXTFILES) - rm -f $(GG_GENERATED_TXTFILES) - -# -# C parser and GlueGen build rules (requires ANTLR) -# -# Note: haven't been able to get ANTLR to put its output into a -# different directory than the current working directory. Instead we -# manually move the generated files into the gensrc dir for easy -# cleanup. -# - -$(GENSRC_CGRAM_DIR)/StdCParser.java $(GENSRC_CGRAM_DIR)/StdCLexer.java $(GENSRC_CGRAM_DIR)/STDCTokenTypes.java : $(CGRAM_DIR)/StdCParser.g - rm -f $@ - mkdir -p $(GENSRC_CGRAM_DIR) - cd $(CGRAM_DIR); $(JAVA) antlr.Tool StdCParser.g - mv -f $(CGRAM_DIR)/StdCParser.java $(CGRAM_DIR)/StdCLexer.java $(CGRAM_DIR)/STDCTokenTypes.java $(GENSRC_CGRAM_DIR) - -$(GENSRC_CGRAM_DIR)/GnuCParser.java $(GENSRC_CGRAM_DIR)/GnuCLexer.java $(GENSRC_CGRAM_DIR)/GnuCLexerTokenTypes.java $(GENSRC_CGRAM_DIR)/GNUCTokenTypes.java : $(CGRAM_DIR)/GnuCParser.g $(CGRAM_DIR)/StdCParser.g - rm -f $@ - mkdir -p $(GENSRC_CGRAM_DIR) - cd $(CGRAM_DIR); $(JAVA) antlr.Tool -glib "StdCParser.g" GnuCParser.g - mv -f $(CGRAM_DIR)/GnuCParser.java $(CGRAM_DIR)/GnuCLexer.java $(CGRAM_DIR)/GnuCLexerTokenTypes.java $(CGRAM_DIR)/GNUCTokenTypes.java $(GENSRC_CGRAM_DIR) - -$(GENSRC_CGRAM_DIR)/GnuCTreeParser.java $(GENSRC_CGRAM_DIR)/GnuCTreeParserTokenTypes.java : $(CGRAM_DIR)/GnuCTreeParser.g - rm -f $@ - mkdir -p $(GENSRC_CGRAM_DIR) - cd $(CGRAM_DIR); $(JAVA) antlr.Tool GnuCTreeParser.g - mv -f $(CGRAM_DIR)/GnuCTreeParser.java $(CGRAM_DIR)/GnuCTreeParserTokenTypes.java $(GENSRC_CGRAM_DIR) - -$(GENSRC_CGRAM_DIR)/GnuCEmitter.java $(GENSRC_CGRAM_DIR)/GnuCEmitterTokenTypes.java : $(CGRAM_DIR)/GnuCEmitter.g $(CGRAM_DIR)/GnuCTreeParser.g - rm -f $@ - mkdir -p $(GENSRC_CGRAM_DIR) - cd $(CGRAM_DIR); $(JAVA) antlr.Tool -glib "GnuCTreeParser.g" GnuCEmitter.g - mv -f $(CGRAM_DIR)/GnuCEmitter.java $(CGRAM_DIR)/GnuCEmitterTokenTypes.java $(GENSRC_CGRAM_DIR) - -$(GENSRC_CGRAM_DIR)/HeaderParser.java $(GENSRC_CGRAM_DIR)/HeaderParserTokenTypes.java : $(CGRAM_DIR)/HeaderParser.g $(CGRAM_DIR)/GnuCTreeParser.g - rm -f $@ - mkdir -p $(GENSRC_CGRAM_DIR) - cd $(CGRAM_DIR); $(JAVA) antlr.Tool -glib "GnuCTreeParser.g" HeaderParser.g - mv -f $(CGRAM_DIR)/HeaderParser.java $(CGRAM_DIR)/HeaderParserTokenTypes.java $(GENSRC_CGRAM_DIR) - -$(GG_CLASSFILES) : $(GG_JAVAFILES) - mkdir -p $(CLASSES_DIR) - $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -d $(CLASSES_DIR) $(GG_JAVAFILES) - -# -# Jogl package build rules (once GlueGen is built) -# - - -$(BUILD_STATIC_GL_INFO_CLASS) : $(BUILD_STATIC_GL_INFO_SRC) - $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -d $(CLASSES_DIR) $(BUILD_STATIC_GL_INFO_SRC) - -$(JOGL_GENERATED_JAVAFILES) $(JOGL_GENERATED_CFILES) : $(JOGL_STUB_INCLUDES_PD) $(JOGL_CFG_FILES) $(GG_CLASSFILES) $(BUILD_STATIC_GL_INFO_CLASS) $(JOGL_HEADERS) $(JOGL_STUB_INCLUDES_DIR_PD)/gl.c $(JOGL_STUB_INCLUDES_DIR_PD)/gl-impl.c $(JOGL_STUB_INCLUDES_DIR_PD)/window-system.c - -# generate GL interface class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -C$(JOGL_CFG) $(JOGL_GLUEGEN_INCLUDES) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/gl.c - -# generate GL implementation class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -C$(JOGL_IMPL_CFG) $(JOGL_GLUEGEN_INCLUDES) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/gl-impl.c - -# generate WGL interface class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -Cgl-wgl-win32.cfg -I$(JOGL_STUB_INCLUDES_DIR_WIN32) -I$(JOGL_STUB_INCLUDES_DIR_X11) -I$(JOGL_STUB_INCLUDES_DIR_MACOSX) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_WIN32)/gl-impl.c - -# generate GLX interface class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -Cgl-glx-x11.cfg -I$(JOGL_STUB_INCLUDES_DIR_X11) -I$(JOGL_STUB_INCLUDES_DIR_WIN32) -I$(JOGL_STUB_INCLUDES_DIR_MACOSX) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_X11)/gl-impl.c - -# generate CGL interface class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -Cgl-cgl-macosx.cfg -I$(JOGL_STUB_INCLUDES_DIR_X11) -I$(JOGL_STUB_INCLUDES_DIR_WIN32) -I$(JOGL_STUB_INCLUDES_DIR_MACOSX) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_MACOSX)/gl-impl.c - -# generate JAWT class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.JavaEmitter -C$(JOGL_JAWT_CFG) $(JOGL_GLUEGEN_INCLUDES) -I"$(JAVA_INCLUDE_PATH)" "$(JAVA_INCLUDE_PATH_PD)/jawt_md.h" - -# generate WGL/GLX/CGL implementation class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -C$(JOGL_WINDOW_SYSTEM_CFG) $(JOGL_GLUEGEN_INCLUDES) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/window-system.c - -# generate StaticGLInfo class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.opengl.BuildStaticGLInfo net.java.games.jogl.impl $(GENSRC_JOGL_IMPL_DIR) $(JOGL_HEADERS) - -# generate GLU interface class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -C$(JOGL_GLU_CFG) $(JOGL_GLUEGEN_INCLUDES) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/glu.c - -# generate GLU implementation class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.opengl.GLEmitter -C$(JOGL_GLU_IMPL_CFG) $(JOGL_GLUEGEN_INCLUDES) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/glu-impl.c - -$(JOGL_CLASSFILES_FIRST_PASS) : $(JOGL_JAVAFILES_FIRST_PASS) - mkdir -p $(CLASSES_DIR) - $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_FIRST_PASS) - -$(BUILD_GL_COMPOSABLE_PIPELINE_CLASS) : $(BUILD_GL_COMPOSABLE_PIPELINE_SRC) - $(JAVAC) $(JAVAC_FLAGS) -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -source 1.4 -d $(CLASSES_DIR) $(BUILD_GL_COMPOSABLE_PIPELINE_SRC) - -$(GL_COMPOSABLE_PIPELINE_GENERATED_JAVAFILES) : $(JOGL_CLASSFILES_FIRST_PASS) $(BUILD_GL_COMPOSABLE_PIPELINE_CLASS) - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.opengl.BuildComposablePipeline net.java.games.jogl.GL $(GENSRC_JOGL_DIR) - -$(JOGL_CLASSFILES_SECOND_PASS) : $(JOGL_JAVAFILES_SECOND_PASS) - $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_SECOND_PASS) - -# -# jogl.cg package rules (once jogl is built) -# - -$(JOGL_NVCG_GENERATED_JAVAFILES) $(JOGL_NVCG_GENERATED_CFILES) : $(JOGL_NVCG_CFG_FILES) $(GG_CLASSFILES) $(JOGL_NVGC_HEADERS) $(JOGL_STUB_INCLUDES_DIR_PD)/cg.c -# generate Cg java class - $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.JavaEmitter -C$(JOGL_NVCG_CFG) -I"$(JOGL_STUB_INCLUDES_DIR_NVCG)" -I$(JOGL_STUB_INCLUDES_DIR_PD) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/cg.c - -$(JOGL_NVCG_CLASSFILES) : $(JOGL_NVCG_JAVAFILES) -# compile Cg java classes - mkdir -p $(CLASSES_DIR) - $(JAVAC) $(JAVAC_FLAGS) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_NVCG_JAVAFILES) - -# -# .so / .dll build rules -# - -# Create the output directories -$(OUTPUT_DIRS): - mkdir -p $(OUTPUT_DIRS) - -# Build hand-coded jogl C code -$(JOGL_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(NATIVE_GL_SRC_DIR)/%.c - $(GL_C_BUILD_OBJ_CMD) - -# Build auto-generated jogl C code -$(JOGL_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(GENSRC_GL_NATIVE_DIR)/%.c - $(GL_C_BUILD_OBJ_CMD) - -# Build auto-generated jogl.cg C code -$(JOGL_NVCG_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(GENSRC_NVCG_NATIVE_DIR)/%.c - $(NVCG_C_BUILD_OBJ_CMD) - -# Build the jogl JNI dll -$(JOGL_DSO): $(JOGL_OBJ_FILES) - $(GL_C_LINK_DSO_CMD) $(JOGL_OBJ_FILES) - -# Build the jogl.cg JNI dll -$(JOGL_NVCG_DSO): $(JOGL_NVCG_OBJ_FILES) - $(NVCG_C_LINK_DSO_CMD) $(JOGL_NVCG_OBJ_FILES) - -# Hand-coded rule for the Objective C source on Mac OS X -$(JOGL_OBJ_DIR)/MacOSXWindowSystemInterface.$(OBJ_FILE_EXT) : $(NATIVE_GL_SRC_DIR)/MacOSXWindowSystemInterface.m - $(GL_C_BUILD_OBJ_CMD) - -# -# jar build rule -# - -$(JOGL_JAR): $(JOGL_CLASSFILES) $(JOGL_NVCG_CLASSFILES) - rm -f $@ - cd $(CLASSES_DIR) ; \ - jar cvf ../jogl.jar * |