X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2FMakefile.mgw;h=097c390a83e2625e402cc415fcfb2cb021b836ad;hb=dbe58d7f9f48ba57d5c56265bc5a6dce0dfa11b0;hp=336463ec78f14ee31f1699268c59987cb990b83c;hpb=e14119f143c42621f96754c0e086c627f4731191;p=mesa.git diff --git a/src/mesa/Makefile.mgw b/src/mesa/Makefile.mgw index 336463ec78f..097c390a83e 100644 --- a/src/mesa/Makefile.mgw +++ b/src/mesa/Makefile.mgw @@ -1,5 +1,5 @@ # Mesa 3-D graphics library -# Version: 5.1 +# Version: 7.0 # # Copyright (C) 1999-2003 Brian Paul All Rights Reserved. # @@ -20,12 +20,22 @@ # 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 core makefile v1.3 for Mesa +# MinGW core makefile v1.4 for Mesa # -# Copyright (C) 2002 - Borca Daniel +# Copyright (C) 2002 - Daniel Borca # 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,52 +62,71 @@ # - .PHONY: all clean .INTERMEDIATE: x86/gen_matypes.exe .SUFFIXES: .rc .res -TOP = ../.. -GLIDE ?= $(TOP)/glide3 -LIBDIR = $(TOP)/lib +# Set this to the prefix of your build tools, i.e. mingw32- +TOOLS_PREFIX = mingw32- + 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 + +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 -CC = mingw32-gcc -CFLAGS += -DBUILD_GL32 -D_OPENGL32_ -D_MSC_VER -CFLAGS += $(INCLUDE_DIRS) -CFLAGS += -DUSE_EXTERNAL_DXTN_LIB=1 ifeq ($(FX),1) CFLAGS += -I$(GLIDE)/include -DFX LDLIBS += -L$(GLIDE)/lib -lglide3x - GL_DEF = drivers/glide/fxopengl.def - GL_RES = drivers/glide/fx.rc + GL_DEF = drivers/windows/fx/fxopengl.def + GL_RES = drivers/windows/fx/fx.rc else ifeq ($(ICD),1) 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 = rus -ifeq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) + UNLINK = del $(subst /,\,$(1)) -else +ifneq ($(wildcard $(addsuffix /rm.exe,$(subst ;, ,$(PATH)))),) +UNLINK = $(RM) $(1) +endif +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 @@ -112,7 +141,7 @@ endif ifeq ($(FX),1) DRIVER_SOURCES = \ $(GLIDE_DRIVER_SOURCES) \ - drivers/glide/fxwgl.c + drivers/windows/fx/fxwgl.c else ifeq ($(ICD),1) DRIVER_SOURCES = \ @@ -125,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))) @@ -135,17 +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)/$(GL_DLL) $(LIBDIR)/$(GL_IMP) + +all: $(LIBDIR) $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP) + +$(LIBDIR): + mkdir -p $(LIBDIR) $(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP): $(OBJECTS) $(RESOURCE) - dllwrap -o $(LIBDIR)/$(GL_DLL) --output-lib $(LIBDIR)/$(GL_IMP) --target i386-mingw32 --def $(GL_DEF) $^ $(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 @@ -163,7 +198,7 @@ x86/gen_matypes.exe: x86/gen_matypes.c # with USE_X86_ASM (useful for trace/debug) ifeq (1,1) x86/glapi_x86.o: x86/glapi_x86.S - $(CC) -o $@ $(CFLAGS) -U__WIN32__ -DSTDCALL_API -c $< + $(CC) -o $@ $(CFLAGS) -DSTDCALL_API -c $< else main/dispatch.o: main/dispatch.c $(CC) -o $@ $(CFLAGS) -UUSE_X86_ASM -c $< @@ -177,19 +212,24 @@ 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) + -$(call UNLINK,drivers/windows/fx/*.res) -$(call UNLINK,drivers/windows/gdi/*.o) -$(call UNLINK,drivers/windows/icd/*.o) - -$(call UNLINK,drivers/glide/*.o) - -$(call UNLINK,drivers/glide/*.res)