Bug #2477: Make GLU/GLw/glut build properly even with -fvisibility=hidden.
[mesa-demos.git] / Makefile.mgw
blobd544b09398cee7d7fed8e15bf91804ea5f94aedf
1 # Mesa 3-D graphics library
2 # Version:  4.0
3
4 # Copyright (C) 1999  Brian Paul   All Rights Reserved.
5
6 # Permission is hereby granted, free of charge, to any person obtaining a
7 # copy of this software and associated documentation files (the "Software"),
8 # to deal in the Software without restriction, including without limitation
9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 # and/or sell copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following conditions:
12
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
15
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19 # BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 # MinGW makefile v1.2 for Mesa
25 #  Copyright (C) 2002 - Daniel Borca
26 #  Email : dborca@users.sourceforge.net
27 #  Web   : http://www.geocities.com/dborca
31 #  Available options:
33 #    Environment variables:
34 #       CPU             optimize for the given processor.
35 #                       default = pentium
36 #       GLIDE           path to Glide3 SDK; used with FX.
37 #                       default = $(TOP)/glide3
38 #       FX=1            build for 3dfx Glide3. Note that this disables
39 #                       compilation of most WMesa code and requires fxMesa.
40 #                       As a consequence, you'll need the Win32 Glide3
41 #                       library to build any application.
42 #                       default = no
43 #       ICD=1           build the installable client driver interface
44 #                       (windows opengl driver interface)
45 #                       default = no
46 #       X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
47 #                       default = no
49 #    Targets:
50 #       all:            build everything
51 #       libgl:          build GL
52 #       clean:          remove object files
53 #       realclean:      remove all generated files
58 .PHONY : all libgl clean realclean
60 CPU ?= pentium
62 ifeq ($(ICD),1)
63   # when -std=c99 mingw will not define WIN32
64   CFLAGS = -Wall -W -Werror
65 else
66   # I love c89
67   CFLAGS = -Wall -W -pedantic
68 endif
69 CFLAGS += -O2 -ffast-math -mtune=$(CPU)
71 export CFLAGS
73 ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
74 UNLINK = del $(subst /,\,$(1))
75 else
76 UNLINK = $(RM) $(1)
77 endif
79 all: libgl
81 libgl: lib
82         $(MAKE) -f Makefile.mgw -C src/mesa
84 lib:
85         mkdir lib
87 clean:
88         $(MAKE) -f Makefile.mgw clean -C src/mesa
90 realclean: clean
91         -$(call UNLINK,lib/*.a)
92         -$(call UNLINK,lib/*.dll)