Merge branch 'autoconf2'
[mesa.git] / Makefile.mgw
index 8a95b2582f64b50c5e6f9d966524117f1773d1ba..3dc9f626438cafa5e5a5c281942be2725762222c 100644 (file)
@@ -20,9 +20,9 @@
 # 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.0 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
 
@@ -31,8 +31,6 @@
 #  Available options:
 #
 #    Environment variables:
-#      CPU             optimize for the given processor.
-#                      default = k6
 #      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
-#      HAVE_X86=1      optimize for i386.
+#      ICD=1           build the installable client driver interface
+#                      (windows opengl driver interface)
 #                      default = no
-#      HAVE_MMX=1      allow MMX specializations, provided your assembler
-#                      supports MMX instruction set. However, the true CPU
-#                      capabilities are checked at run-time to avoid crashes.
-#                      default = no
-#      HAVE_SSE=1      (see HAVE_MMX)
-#                      default = no
-#      HAVE_3DNOW=1    (see HAVE_MMX)
+#      X86=1           optimize for x86 (if possible, use MMX, SSE, 3DNow).
 #                      default = no
 #
 #    Targets:
 #      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 ?= k6
-
-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)