| # Mesa 3-D graphics library |
| # Version: 5.1 |
| # |
| # Copyright (C) 1999-2003 Brian Paul All Rights Reserved. |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining a |
| # copy of this software and associated documentation files (the "Software"), |
| # to deal in the Software without restriction, including without limitation |
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| # and/or sell copies of the Software, and to permit persons to whom the |
| # Software is furnished to do so, subject to the following conditions: |
| # |
| # The above copyright notice and this permission notice shall be included |
| # in all copies or substantial portions of the Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| # BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
| # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| |
| # MinGW core makefile v1.4 for Mesa |
| # |
| # Copyright (C) 2002 - Daniel Borca |
| # Email : dborca@users.sourceforge.net |
| # Web : http://www.geocities.com/dborca |
| |
| # MinGW core-glu makefile updated for Mesa 7.0 |
| # |
| # Updated : by Heromyth, on 2007-7-21 |
| # Email : zxpmyth@yahoo.com.cn |
| # Bugs : 1) All the default settings work fine. But the setting X86=1 can't work. |
| # The others havn't been tested yet. |
| # 2) The generated DLLs are *not* compatible with the ones built |
| # with the other compilers like VC8, especially for GLUT. |
| # 3) Although more tests are needed, it can be used individually! |
| |
| # |
| # Available options: |
| # |
| # Environment variables: |
| # CFLAGS |
| # |
| # GLIDE path to Glide3 SDK; used with FX. |
| # default = $(TOP)/glide3 |
| # FX=1 build for 3dfx Glide3. Note that this disables |
| # compilation of most WMesa code and requires fxMesa. |
| # As a consequence, you'll need the Win32 Glide3 |
| # library to build any application. |
| # default = no |
| # ICD=1 build the installable client driver interface |
| # (windows opengl driver interface) |
| # default = no |
| # X86=1 optimize for x86 (if possible, use MMX, SSE, 3DNow). |
| # default = no |
| # |
| # Targets: |
| # all: build GL |
| # clean: remove object files |
| # |
| |
| |
| |
| .PHONY: all clean |
| .INTERMEDIATE: x86/gen_matypes.exe |
| .SUFFIXES: .rc .res |
| |
| # Set this to the prefix of your build tools, i.e. mingw32- |
| TOOLS_PREFIX = mingw32- |
| |
| TOP = ../../.. |
| LIBDIR = $(TOP)/lib |
| |
| LIB_NAME = glu32 |
| DLL_EXT = .dll |
| IMP_EXT = .a |
| LIB_PRE = lib |
| STRIP = -s |
| |
| AR = ar |
| ARFLAGS = crus |
| DLLTOOL = dlltool |
| |
| GLU_DLL = $(LIB_NAME)$(DLL_EXT) |
| GLU_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT) |
| GLU_DEF = $(LIB_NAME).def |
| |
| LDLIBS = -L$(LIBDIR) -lopengl32 |
| LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at |
| |
| CFLAGS += -DBUILD_GLU32 -D_DLL |
| |
| |
| CC = $(TOOLS_PREFIX)gcc |
| CFLAGS += -DNDEBUG -DLIBRARYBUILD -I$(TOP)/include -Iinclude |
| CXX = $(TOOLS_PREFIX)g++ |
| CXXFLAGS = $(CFLAGS) -Ilibnurbs/internals -Ilibnurbs/interface -Ilibnurbs/nurbtess |
| |
| AR = ar |
| ARFLAGS = crus |
| |
| UNLINK = del $(subst /,\,$(1)) |
| ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) |
| UNLINK = $(RM) $(1) |
| endif |
| ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),) |
| UNLINK = $(RM) $(1) |
| endif |
| |
| C_SOURCES = \ |
| libutil/error.c \ |
| libutil/glue.c \ |
| libutil/mipmap.c \ |
| libutil/project.c \ |
| libutil/quad.c \ |
| libutil/registry.c \ |
| libtess/dict.c \ |
| libtess/geom.c \ |
| libtess/memalloc.c \ |
| libtess/mesh.c \ |
| libtess/normal.c \ |
| libtess/priorityq.c \ |
| libtess/render.c \ |
| libtess/sweep.c \ |
| libtess/tess.c \ |
| libtess/tessmono.c |
| |
| CC_SOURCES = \ |
| libnurbs/interface/bezierEval.cc \ |
| libnurbs/interface/bezierPatch.cc \ |
| libnurbs/interface/bezierPatchMesh.cc \ |
| libnurbs/interface/glcurveval.cc \ |
| libnurbs/interface/glinterface.cc \ |
| libnurbs/interface/glrenderer.cc \ |
| libnurbs/interface/glsurfeval.cc \ |
| libnurbs/interface/incurveeval.cc \ |
| libnurbs/interface/insurfeval.cc \ |
| libnurbs/internals/arc.cc \ |
| libnurbs/internals/arcsorter.cc \ |
| libnurbs/internals/arctess.cc \ |
| libnurbs/internals/backend.cc \ |
| libnurbs/internals/basiccrveval.cc \ |
| libnurbs/internals/basicsurfeval.cc \ |
| libnurbs/internals/bin.cc \ |
| libnurbs/internals/bufpool.cc \ |
| libnurbs/internals/cachingeval.cc \ |
| libnurbs/internals/ccw.cc \ |
| libnurbs/internals/coveandtiler.cc \ |
| libnurbs/internals/curve.cc \ |
| libnurbs/internals/curvelist.cc \ |
| libnurbs/internals/curvesub.cc \ |
| libnurbs/internals/dataTransform.cc \ |
| libnurbs/internals/displaylist.cc \ |
| libnurbs/internals/flist.cc \ |
| libnurbs/internals/flistsorter.cc \ |
| libnurbs/internals/hull.cc \ |
| libnurbs/internals/intersect.cc \ |
| libnurbs/internals/knotvector.cc \ |
| libnurbs/internals/mapdesc.cc \ |
| libnurbs/internals/mapdescv.cc \ |
| libnurbs/internals/maplist.cc \ |
| libnurbs/internals/mesher.cc \ |
| libnurbs/internals/monoTriangulationBackend.cc \ |
| libnurbs/internals/monotonizer.cc \ |
| libnurbs/internals/mycode.cc \ |
| libnurbs/internals/nurbsinterfac.cc \ |
| libnurbs/internals/nurbstess.cc \ |
| libnurbs/internals/patch.cc \ |
| libnurbs/internals/patchlist.cc \ |
| libnurbs/internals/quilt.cc \ |
| libnurbs/internals/reader.cc \ |
| libnurbs/internals/renderhints.cc \ |
| libnurbs/internals/slicer.cc \ |
| libnurbs/internals/sorter.cc \ |
| libnurbs/internals/splitarcs.cc \ |
| libnurbs/internals/subdivider.cc \ |
| libnurbs/internals/tobezier.cc \ |
| libnurbs/internals/trimline.cc \ |
| libnurbs/internals/trimregion.cc \ |
| libnurbs/internals/trimvertpool.cc \ |
| libnurbs/internals/uarray.cc \ |
| libnurbs/internals/varray.cc \ |
| libnurbs/nurbtess/directedLine.cc \ |
| libnurbs/nurbtess/gridWrap.cc \ |
| libnurbs/nurbtess/monoChain.cc \ |
| libnurbs/nurbtess/monoPolyPart.cc \ |
| libnurbs/nurbtess/monoTriangulation.cc \ |
| libnurbs/nurbtess/partitionX.cc \ |
| libnurbs/nurbtess/partitionY.cc \ |
| libnurbs/nurbtess/polyDBG.cc \ |
| libnurbs/nurbtess/polyUtil.cc \ |
| libnurbs/nurbtess/primitiveStream.cc \ |
| libnurbs/nurbtess/quicksort.cc \ |
| libnurbs/nurbtess/rectBlock.cc \ |
| libnurbs/nurbtess/sampleComp.cc \ |
| libnurbs/nurbtess/sampleCompBot.cc \ |
| libnurbs/nurbtess/sampleCompRight.cc \ |
| libnurbs/nurbtess/sampleCompTop.cc \ |
| libnurbs/nurbtess/sampleMonoPoly.cc \ |
| libnurbs/nurbtess/sampledLine.cc \ |
| libnurbs/nurbtess/searchTree.cc |
| |
| SOURCES = $(C_SOURCES) $(CC_SOURCES) |
| |
| OBJECTS = $(addsuffix .o,$(basename $(SOURCES))) |
| |
| .c.o: |
| $(CC) -o $@ $(CFLAGS) -c $< |
| .cc.o: |
| $(CXX) -o $@ $(CXXFLAGS) -c $< |
| |
| |
| all: $(LIBDIR) $(LIBDIR)/$(GLU_DLL) $(LIBDIR)/$(GLU_IMP) |
| |
| $(LIBDIR): |
| mkdir -p $(LIBDIR) |
| |
| $(LIBDIR)/$(GLU_DLL) $(LIBDIR)/$(GLU_IMP): $(OBJECTS) |
| $(CXX) $(LDFLAGS) -o $(LIBDIR)/$(GLU_DLL) $^ $(LDLIBS) |
| $(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GLU_DEF) $^ |
| $(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GLU_IMP) --def $(LIBDIR)/$(GLU_DEF) |
| |
| |
| clean: |
| -$(call UNLINK,libutil/*.o) |
| -$(call UNLINK,libtess/*.o) |
| -$(call UNLINK,libnurbs/interface/*.o) |
| -$(call UNLINK,libnurbs/internals/*.o) |
| -$(call UNLINK,libnurbs/nurbtess/*.o) |