r300: add just in case warn I don't think this can actually happen
[mesa.git] / src / mesa / Makefile.mgw
index ebec5c055a87cc757efd3750fc1c8a518fb7051e..097c390a83e2625e402cc415fcfb2cb021b836ad 100644 (file)
@@ -1,5 +1,5 @@
 # Mesa 3-D graphics library
-# Version:  5.1
+# Version:  7.0
 # 
 # Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
 # 
 #  Email : dborca@users.sourceforge.net
 #  Web   : http://www.geocities.com/dborca
 
+# MinGW core-gl 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) Although more tests are needed, it can be used individually!
+
 
 #
 #  Available options:
@@ -52,7 +62,6 @@
 #
 
 
-
 .PHONY: all clean
 .INTERMEDIATE: x86/gen_matypes.exe
 .SUFFIXES: .rc .res
 # Set this to the prefix of your build tools, i.e. mingw32-
 TOOLS_PREFIX = mingw32-
 
-TOP = ../..
-GLIDE ?= $(TOP)/glide3
-LIBDIR = $(TOP)/lib
 ifeq ($(ICD),1)
-  GL_DLL = mesa32.dll
-  GL_IMP = libmesa32.a
+  LIB_NAME = mesa32
 else
-  GL_DLL = opengl32.dll
-  GL_IMP = libopengl32.a
+  LIB_NAME = opengl32
 endif
 
-LDLIBS = -lgdi32
+DLL_EXT = .dll
+IMP_EXT = .a
+LIB_PRE = lib
+STRIP = -s
+
+AR = ar
+ARFLAGS = crus
+DLLTOOL = dlltool
+
+TOP = ../..
+GLIDE ?= $(TOP)/glide3
+LIBDIR = $(TOP)/lib
 
+GL_DLL = $(LIB_NAME)$(DLL_EXT)
+GL_IMP = $(LIB_PRE)$(LIB_NAME)$(IMP_EXT)
+
+MESA_LIB = libmesa.a
 CC = $(TOOLS_PREFIX)gcc
-CFLAGS += -DBUILD_GL32 -D_OPENGL32_
-CFLAGS += $(INCLUDE_DIRS)
-CFLAGS += -DUSE_EXTERNAL_DXTN_LIB=1
+
+LDLIBS = -lgdi32 -luser32 -liberty
+LDFLAGS = $(STRIP) -shared -fPIC -Wl,--kill-at
+
+CFLAGS += -DBUILD_GL32 -D_DLL -DMESA_MINWARN
+CFLAGS += -DNDEBUG -DUSE_EXTERNAL_DXTN_LIB=1
+
 ifeq ($(FX),1)
   CFLAGS += -I$(GLIDE)/include -DFX
   LDLIBS += -L$(GLIDE)/lib -lglide3x
@@ -87,12 +110,11 @@ else
     CFLAGS += -DUSE_MGL_NAMESPACE
     GL_DEF = drivers/windows/icd/mesa.def
   else    
-    GL_DEF = drivers/windows/gdi/mesa.def
+    GL_DEF = $(LIB_NAME).def
   endif
 endif
 
-AR = ar
-ARFLAGS = crus
+
 
 UNLINK = del $(subst /,\,$(1))
 ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),)
@@ -102,7 +124,9 @@ ifneq ($(wildcard $(addsuffix /rm,$(subst :, ,$(PATH)))),)
 UNLINK = $(RM) $(1)
 endif
 
-include sources
+include sources.mak
+
+CFLAGS += $(INCLUDE_DIRS) 
 
 ifeq ($(X86),1)
 CFLAGS += -DUSE_X86_ASM
@@ -130,7 +154,7 @@ DRIVER_SOURCES = \
 endif
 endif
 
-SOURCES = $(CORE_SOURCES) $(X86_SOURCES) $(COMMON_DRIVER_SOURCES) $(DRIVER_SOURCES)
+SOURCES = $(MESA_SOURCES) $(GLAPI_SOURCES) $(X86_SOURCES) $(DRIVER_SOURCES)
 
 OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
 
@@ -140,22 +164,23 @@ RESOURCE = $(GL_RES:.rc=.res)
 
 .c.o:
        $(CC) -o $@ $(CFLAGS) -c $<
-.S.o:
-       $(CC) -o $@ $(CFLAGS) -c $<
 .s.o:
        $(CC) -o $@ $(CFLAGS) -x assembler-with-cpp -c $<
+
 .rc.res:
        windres -o $@ -Irc -Ocoff $<
 
+
 all: $(LIBDIR) $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP)
 
 $(LIBDIR):
        mkdir -p $(LIBDIR)
 
 $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP): $(OBJECTS) $(RESOURCE)
-       $(TOOLS_PREFIX)dllwrap -o $(LIBDIR)/$(GL_DLL) --output-lib $(LIBDIR)/$(GL_IMP) \
-                              --target i386-mingw32 --def $(GL_DEF) -Wl,-enable-stdcall-fixup \
-                              $^ $(LDLIBS)
+       $(CC) $(LDFLAGS) -o $(LIBDIR)/$(GL_DLL) $^ $(LDLIBS)
+       $(DLLTOOL) --as=as --dllname $(LIB_NAME) --output-def $(LIBDIR)/$(GL_DEF) $^
+       $(DLLTOOL) --as=as -k --dllname $(LIB_NAME) --output-lib $(LIBDIR)/$(GL_IMP) --def $(LIBDIR)/$(GL_DEF)
+
 
 $(X86_OBJECTS): x86/matypes.h
 
@@ -187,17 +212,21 @@ tnl/t_vtx_x86_gcc.o: tnl/t_vtx_x86_gcc.S
        $(CC) -o $@ $(CFLAGS) -DSTDCALL_API -c $<
 
 clean:
-       -$(call UNLINK,array_cache/*.o)
        -$(call UNLINK,glapi/*.o)
        -$(call UNLINK,main/*.o)
        -$(call UNLINK,math/*.o)
+       -$(call UNLINK,vbo/*.o)
        -$(call UNLINK,shader/*.o)
+       -$(call UNLINK,shader/slang/*.o)
+       -$(call UNLINK,shader/grammar/*.o)
        -$(call UNLINK,sparc/*.o)
        -$(call UNLINK,ppc/*.o)
        -$(call UNLINK,swrast/*.o)
        -$(call UNLINK,swrast_setup/*.o)
        -$(call UNLINK,tnl/*.o)
        -$(call UNLINK,x86/*.o)
+       -$(call UNLINK,x86/rtasm/*.o)
+       -$(call UNLINK,x86-64/*.o)
        -$(call UNLINK,drivers/common/*.o)
        -$(call UNLINK,drivers/glide/*.o)
        -$(call UNLINK,drivers/windows/fx/*.o)