# 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
# 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
-
ifeq ($(ICD),1)
# when -std=c99 mingw will not define WIN32
- CFLAGS = -Wall -W -Werror
+ CFLAGS = -Wall -Werror
else
# I love c89
- CFLAGS = -Wall -W -pedantic
+ CFLAGS = -Wall -pedantic
endif
-CFLAGS += -O2 -ffast-math -mtune=$(CPU)
+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)