# 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 makefile v1.1 for Mesa
+# MinGW makefile v1.2 for Mesa
#
-# Copyright (C) 2002 - Borca Daniel
+# Copyright (C) 2002 - Daniel Borca
# Email : dborca@users.sourceforge.net
# Web : http://www.geocities.com/dborca
# Available options:
#
# Environment variables:
-# CPU optimize for the given processor.
-# default = pentium
# GLIDE path to Glide3 SDK; used with FX.
# default = $(TOP)/glide3
# FX=1 build for 3dfx Glide3. Note that this disables
# 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
#
# realclean: remove all generated files
#
+# MinGW core 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) MAlthough more tests are needed, it can be used individually!
.PHONY : all libgl clean realclean
-CPU ?= pentium
-
-CFLAGS = -Wall -W -pedantic
-CFLAGS += -O2 -ffast-math -mcpu=$(CPU)
+ifeq ($(ICD),1)
+ # when -std=c99 mingw will not define WIN32
+ CFLAGS = -Wall -Werror
+else
+ # I love c89
+ CFLAGS = -Wall -pedantic
+endif
+CFLAGS += -O2 -ffast-math
export CFLAGS
+
ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
UNLINK = del $(subst /,\,$(1))
else
UNLINK = $(RM) $(1)
endif
-all: libgl
+all: libgl libglu libglut example
libgl: lib
$(MAKE) -f Makefile.mgw -C src/mesa
+libglu: libgl
+ $(MAKE) -f Makefile.mgw -C src/glu/sgi
+
+libglut: libglu
+ $(MAKE) -f Makefile.mgw -C src/glut/glx
+
+example: libglut
+ $(MAKE) -f Makefile.mgw star -C progs/samples
+ copy progs\samples\star.exe lib
+
lib:
mkdir lib
clean:
$(MAKE) -f Makefile.mgw clean -C src/mesa
+ $(MAKE) -f Makefile.mgw clean -C src/glu/sgi
+ $(MAKE) -f Makefile.mgw clean -C src/glut/glx
realclean: clean
-$(call UNLINK,lib/*.a)