Fix a number of MINGW32 issues
[mesa.git] / progs / samples / Makefile.mgw
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.
22
23 # MinGW samples makefile v1.2 for Mesa
24 #
25 # Copyright (C) 2002 - Daniel Borca
26 # Email : dborca@users.sourceforge.net
27 # Web : http://www.geocities.com/dborca
28
29 # MinGW samples makefile updated for Mesa 7.0
30 #
31 # Updated : by Heromyth, on 2007-7-21
32 # Email : zxpmyth@yahoo.com.cn
33 # Bugs : 1) All the default settings work fine. But the setting X86=1 can't work.
34 # The others havn't been tested yet.
35 # 2) The generated DLLs are *not* compatible with the ones built
36 # with the other compilers like VC8, especially for GLUT.
37 # 3) Although more tests are needed, it can be used individually!
38
39 #
40 # Available options:
41 #
42 # Environment variables:
43 #
44 # Targets:
45 # <file.exe> build a specific file
46 #
47
48
49
50 .PHONY: all
51 .SUFFIXES: .c .o .exe
52 .SECONDARY: ../util/readtex.o ../util/showbuffer.o
53
54 TOP = ../..
55
56 include $(TOP)/configs/config.mgw
57 ALL_USING_STDCALL ?= 1
58 GL_USING_STDCALL ?= 1
59 GLUT_USING_STDCALL ?= 1
60
61 CC = mingw32-gcc
62 CFLAGS = -Wall -pedantic
63 CFLAGS += -O2 -ffast-math
64 CFLAGS += -I$(TOP)/include -I../util
65 ifeq ($(FX),1)
66 CFLAGS += -DFX
67 endif
68
69 CFLAGS += -DGLUT_DISABLE_ATEXIT_HACK
70
71 ifeq ($(GL_USING_STDCALL),0)
72 CFLAGS += -DGL_NO_STDCALL
73 endif
74
75 ifeq ($(GLUT_USING_STDCALL),1)
76 CFLAGS += -D_STDCALL_SUPPORTED
77 else
78 CFLAGS += -DGLUT_NO_STDCALL
79 endif
80
81
82 LD = mingw32-g++
83 LDFLAGS = -s -L$(TOP)/lib
84
85 LDLIBS = -lglut32 -lglu32 -lopengl32
86
87 .c.o:
88 $(CC) -o $@ $(CFLAGS) -c $<
89 %.exe: ../util/readtex.o ../util/showbuffer.o %.o
90 $(LD) -o $@ $(LDFLAGS) $^ $(LDLIBS)
91
92 all:
93 $(error Must specify <filename.exe> to build)