fully parameterize the macros for fixed-point arithmetic
[mesa.git] / src / mesa / Makefile.wfx
index afc17de199abfaeaa35b34421b2b4aea8acb5330..0a8b8c3b0e826ea2405355402ff9a3db5c1de63c 100644 (file)
@@ -49,7 +49,7 @@ GLIDE3SDK = $(BUILDROOT)\glide3
 GLIDE3LIB = $(GLIDE3SDK)\lib\glide3x.lib
 TEXUS2LIB = #$(GLIDE3SDK)\lib\texus2.lib
 LIBDIR    = $(BUILDROOT)\lib
-GL_DLL    = Mesa.dll
+GL_DLL    = OpenGL32.dll
 
 HAVE_X86   = 1
 HAVE_MMX   = 1
@@ -59,7 +59,7 @@ HAVE_3DNOW = 1
 ##################################
 # build flags
 ##################################
-FLAGS = -DH3 -DFX_GLIDE_NAPALM=1 -DH4=1 -DFX_GLIDE_H5_CSIM=1 -DGLIDE3=1 -DGLIDE3_ALPHA=1 -DBUILD_GL32 -DFX #-DGLX_DIRECT_RENDERING
+FLAGS = -DH3 -DFX -DBUILD_GL32
 
 !if "$(USE_IEEE)"=="1"
 FLAGS = $(FLAGS) -D__i386__
@@ -90,18 +90,19 @@ LINK = link
 AR   = lib
 AS   = nasm
 
-CFLAGS  = -G6 -c -D__MSC__ -D_MSC_VER=1200 -D_WIN32 -DWIN32 -DSTRICT -W3 #-WX -D__WIN32__
-LFLAGS  = -nologo /DLL /OPT:WIN98 /MACHINE:IX86 /NODEFAULTLIB #/SUBSYSTEM:WINDOWS,4.00
+CFLAGS  = -nologo -Zm300 -G6 -W3 -c -D_MSC_VER=1200 -D__MSC__ -D_WIN32 -DWIN32 -DSTRICT
+LFLAGS  = -nologo /DLL /OPT:WIN98 /MACHINE:IX86 /NODEFAULTLIB
 ARFLAGS = -nologo
 ASFLAGS = -O2 -fwin32
 
 !if "$(DEBUG)"== "1"
-CFLAGS  = $(CFLAGS) -Od -MDd -DDEBUG=1 -D_DEBUG -D_MT -Zi #-D_DLL conflicts with BUILD_GL32
+CFLAGS  = $(CFLAGS) -Od -MTd -Zi -DDEBUG=1 -D_DEBUG -D_MT
 LFLAGS  = $(LFLAGS) -debugtype:both /DEBUG
 ARFLAGS = $(ARFLAGS) -debugtype:both
 ASFLAGS = $(ASFLAGS) -g -DDEBUG=1
 !else
-CFLAGS  = $(CFLAGS) -Ox -MD -D_MT
+CFLAGS  = $(CFLAGS) -Ox -MT -D_MT
+LFLAGS  = $(LFLAGS) -RELEASE
 !endif
 
 #################################
@@ -113,180 +114,179 @@ MV = mv
 #################################
 # sources
 #################################
-MAIN_SOURCES = \
-       main\api_arrayelt.c \
-       main\api_loopback.c \
-       main\api_noop.c \
-       main\api_validate.c \
-       main\accum.c \
-       main\arbprogram.c \
-       main\arbfragparse.c \
-       main\arbvertparse.c \
-       main\attrib.c \
-       main\blend.c \
-       main\bufferobj.c \
-       main\buffers.c \
-       main\clip.c \
-       main\colortab.c \
-       main\context.c \
-       main\convolve.c \
-       main\debug.c \
-       main\depth.c \
-       main\dispatch.c \
-       main\dlist.c \
-       main\drawpix.c \
-       main\enable.c \
-       main\enums.c \
-       main\eval.c \
-       main\extensions.c \
-       main\feedback.c \
-       main\fog.c \
-       main\get.c \
-       main\hash.c \
-       main\hint.c \
-       main\histogram.c \
-       main\image.c \
-       main\imports.c \
-       main\light.c \
-       main\lines.c \
-       main\matrix.c \
-       main\nvprogram.c \
-       main\nvfragparse.c \
-       main\nvvertexec.c \
-       main\nvvertparse.c \
-       main\occlude.c \
-       main\pixel.c \
-       main\points.c \
-       main\polygon.c \
-       main\program.c \
-       main\rastpos.c \
-       main\state.c \
-       main\stencil.c \
-       main\texcompress.c \
-       main\texformat.c \
-       main\teximage.c \
-       main\texobj.c \
-       main\texstate.c \
-       main\texstore.c \
-       main\texutil.c \
-       main\varray.c \
+MAIN_SOURCES =\
+       main\api_arrayelt.c\
+       main\api_loopback.c\
+       main\api_noop.c\
+       main\api_validate.c\
+       main\accum.c\
+       main\arbparse.c\
+       main\arbprogram.c\
+       main\arbfragparse.c\
+       main\arbvertparse.c\
+       main\attrib.c\
+       main\blend.c\
+       main\bufferobj.c\
+       main\buffers.c\
+       main\clip.c\
+       main\colortab.c\
+       main\context.c\
+       main\convolve.c\
+       main\debug.c\
+       main\depth.c\
+       main\dispatch.c\
+       main\dlist.c\
+       main\drawpix.c\
+       main\enable.c\
+       main\enums.c\
+       main\eval.c\
+       main\extensions.c\
+       main\feedback.c\
+       main\fog.c\
+       main\get.c\
+       main\hash.c\
+       main\hint.c\
+       main\histogram.c\
+       main\image.c\
+       main\imports.c\
+       main\light.c\
+       main\lines.c\
+       main\matrix.c\
+       main\nvprogram.c\
+       main\nvfragparse.c\
+       main\nvvertexec.c\
+       main\nvvertparse.c\
+       main\occlude.c\
+       main\pixel.c\
+       main\points.c\
+       main\polygon.c\
+       main\program.c\
+       main\rastpos.c\
+       main\state.c\
+       main\stencil.c\
+       main\texcompress.c\
+       main\texformat.c\
+       main\teximage.c\
+       main\texobj.c\
+       main\texstate.c\
+       main\texstore.c\
+       main\texutil.c\
+       main\varray.c\
        main\vtxfmt.c
 
-GLAPI_SOURCES = \
-       glapi\glapi.c \
+GLAPI_SOURCES =\
+       glapi\glapi.c\
        glapi\glthread.c
 
-MATH_SOURCES = \
-       math\m_debug_clip.c \
-       math\m_debug_norm.c \
-       math\m_debug_xform.c \
-       math\m_eval.c \
-       math\m_matrix.c \
-       math\m_translate.c \
-       math\m_vector.c \
+MATH_SOURCES =\
+       math\m_debug_clip.c\
+       math\m_debug_norm.c\
+       math\m_debug_xform.c\
+       math\m_eval.c\
+       math\m_matrix.c\
+       math\m_translate.c\
+       math\m_vector.c\
        math\m_xform.c
 
-ARRAY_CACHE_SOURCES = \
-       array_cache\ac_context.c \
+ARRAY_CACHE_SOURCES =\
+       array_cache\ac_context.c\
        array_cache\ac_import.c
 
-SWRAST_SOURCES = \
-       swrast\s_aaline.c \
-       swrast\s_aatriangle.c \
-       swrast\s_accum.c \
-       swrast\s_alpha.c \
-       swrast\s_alphabuf.c \
-       swrast\s_bitmap.c \
-       swrast\s_blend.c \
-       swrast\s_buffers.c \
-       swrast\s_copypix.c \
-       swrast\s_context.c \
-       swrast\s_depth.c \
-       swrast\s_drawpix.c \
-       swrast\s_feedback.c \
-       swrast\s_fog.c \
-       swrast\s_imaging.c \
-       swrast\s_lines.c \
-       swrast\s_logic.c \
-       swrast\s_masking.c \
-       swrast\s_nvfragprog.c \
-       swrast\s_pixeltex.c \
-       swrast\s_points.c \
-       swrast\s_readpix.c \
-       swrast\s_span.c \
-       swrast\s_stencil.c \
-       swrast\s_texture.c \
-       swrast\s_texstore.c \
-       swrast\s_triangle.c \
+SWRAST_SOURCES =\
+       swrast\s_aaline.c\
+       swrast\s_aatriangle.c\
+       swrast\s_accum.c\
+       swrast\s_alpha.c\
+       swrast\s_alphabuf.c\
+       swrast\s_bitmap.c\
+       swrast\s_blend.c\
+       swrast\s_buffers.c\
+       swrast\s_copypix.c\
+       swrast\s_context.c\
+       swrast\s_depth.c\
+       swrast\s_drawpix.c\
+       swrast\s_feedback.c\
+       swrast\s_fog.c\
+       swrast\s_imaging.c\
+       swrast\s_lines.c\
+       swrast\s_logic.c\
+       swrast\s_masking.c\
+       swrast\s_nvfragprog.c\
+       swrast\s_pixeltex.c\
+       swrast\s_points.c\
+       swrast\s_readpix.c\
+       swrast\s_span.c\
+       swrast\s_stencil.c\
+       swrast\s_texture.c\
+       swrast\s_texstore.c\
+       swrast\s_triangle.c\
        swrast\s_zoom.c
 
-SWRAST_SETUP_SOURCES = \
-       swrast_setup\ss_context.c \
-       swrast_setup\ss_triangle.c \
-       swrast_setup\ss_vb.c
-
-TNL_SOURCES = \
-       tnl\t_array_api.c \
-       tnl\t_array_import.c \
-       tnl\t_context.c \
-       tnl\t_eval_api.c \
-       tnl\t_imm_alloc.c \
-       tnl\t_imm_api.c \
-       tnl\t_imm_debug.c \
-       tnl\t_imm_dlist.c \
-       tnl\t_imm_elt.c \
-       tnl\t_imm_eval.c \
-       tnl\t_imm_exec.c \
-       tnl\t_imm_fixup.c \
-       tnl\t_pipeline.c \
-       tnl\t_vb_fog.c \
-       tnl\t_vb_light.c \
-       tnl\t_vb_normals.c \
-       tnl\t_vb_points.c \
-       tnl\t_vb_program.c \
-       tnl\t_vb_render.c \
-       tnl\t_vb_texgen.c \
-       tnl\t_vb_texmat.c \
-       tnl\t_vb_vertex.c
-
-DRIVER_SOURCES = \
-       drivers\glide\fxapi.c \
-       drivers\glide\fxdd.c \
-       drivers\glide\fxddspan.c \
-       drivers\glide\fxddtex.c \
-       drivers\glide\fxsetup.c \
-       drivers\glide\fxtexman.c \
-       drivers\glide\fxtris.c \
-       drivers\glide\fxvb.c \
-       drivers\glide\fxglidew.c \
-       drivers\glide\fxwgl.c \
+SWRAST_SETUP_SOURCES =\
+       swrast_setup\ss_context.c\
+       swrast_setup\ss_triangle.c
+
+TNL_SOURCES =\
+       tnl\t_array_api.c\
+       tnl\t_array_import.c\
+       tnl\t_context.c\
+       tnl\t_pipeline.c\
+       tnl\t_save_api.c\
+       tnl\t_save_loopback.c\
+       tnl\t_save_playback.c\
+       tnl\t_vb_fog.c\
+       tnl\t_vb_light.c\
+       tnl\t_vb_normals.c\
+       tnl\t_vb_points.c\
+       tnl\t_vb_program.c\
+       tnl\t_vb_render.c\
+       tnl\t_vb_texgen.c\
+       tnl\t_vb_texmat.c\
+       tnl\t_vb_vertex.c\
+       tnl\t_vertex.c\
+       tnl\t_vtx_api.c\
+       tnl\t_vtx_eval.c\
+       tnl\t_vtx_exec.c 
+
+DRIVER_SOURCES =\
+       drivers\common\driverfuncs.c\
+       drivers\glide\fxapi.c\
+       drivers\glide\fxdd.c\
+       drivers\glide\fxddspan.c\
+       drivers\glide\fxddtex.c\
+       drivers\glide\fxsetup.c\
+       drivers\glide\fxtexman.c\
+       drivers\glide\fxtris.c\
+       drivers\glide\fxvb.c\
+       drivers\glide\fxglidew.c\
+       drivers\glide\fxwgl.c\
        drivers\glide\fxg.c
 
-X86_SOURCES = \
-       x86\x86.c \
-       x86\glapi_x86.S \
-       x86\common_x86.c \
-       x86\common_x86_asm.S \
-       x86\x86_xform2.S \
-       x86\x86_xform3.S \
-       x86\x86_xform4.S \
+X86_SOURCES =\
+       x86\x86.c\
+       x86\glapi_x86.S\
+       x86\common_x86.c\
+       x86\common_x86_asm.S\
+       x86\x86_xform2.S\
+       x86\x86_xform3.S\
+       x86\x86_xform4.S\
        x86\x86_cliptest.S
 
-MMX_SOURCES = \
+MMX_SOURCES =\
        x86\mmx_blend.S
 
-SSE_SOURCES = \
-       x86\sse.c \
-       x86\sse_xform2.S \
-       x86\sse_xform3.S \
-       x86\sse_xform4.S \
+SSE_SOURCES =\
+       x86\sse.c\
+       x86\sse_xform2.S\
+       x86\sse_xform3.S\
+       x86\sse_xform4.S\
        x86\sse_normal.S
 
-K3D_SOURCES = \
-       x86\3dnow.c \
-       x86\3dnow_xform2.S \
-       x86\3dnow_xform3.S \
-       x86\3dnow_xform4.S \
+K3D_SOURCES =\
+       x86\3dnow.c\
+       x86\3dnow_xform2.S\
+       x86\3dnow_xform3.S\
+       x86\3dnow_xform4.S\
        x86\3dnow_normal.S
 
 !if "$(HAVE_MMX)"=="1"
@@ -321,13 +321,13 @@ X86_OBJS          = $(X86_OBJS:.S=.obj)
 
 RES = drivers\glide\fx.res
 
-CORE_LIBS = \
-       $(LIBDIR)\main.lib \
-       $(LIBDIR)\glapi.lib \
-       $(LIBDIR)\math.lib \
-       $(LIBDIR)\array_cache.lib \
-       $(LIBDIR)\swrast.lib \
-       $(LIBDIR)\swarst_setup.lib \
+CORE_LIBS =\
+       $(LIBDIR)\main.lib\
+       $(LIBDIR)\glapi.lib\
+       $(LIBDIR)\math.lib\
+       $(LIBDIR)\array_cache.lib\
+       $(LIBDIR)\swrast.lib\
+       $(LIBDIR)\swarst_setup.lib\
        $(LIBDIR)\tnl.lib
 
 !if "$(X86_SOURCES)"!=""
@@ -336,11 +336,11 @@ X86_LIB = $(LIBDIR)\x86.lib
 X86_LIB =
 !endif
 
-INCS  = -I$(BUILDROOT)\include \
-        -I. \
-        -I.\drivers\glide \
-        -I.\main \
-        -I.\glapi \
+INCS  = -I$(BUILDROOT)\include\
+        -I.\
+        -I.\drivers\glide\
+        -I.\main\
+        -I.\glapi\
         -I$(GLIDE3SDK)\include
 
 DEP_LIB = user32.lib gdi32.lib kernel32.lib
@@ -386,7 +386,7 @@ x86\matypes.h: x86\gen_matypes.exe
        x86\gen_matypes.exe > $@
 
 x86\gen_matypes.exe: x86\gen_matypes.obj
-       $(CC) -o $@ x86\gen_matypes.obj
+       $(LINK) -out:$@ -nologo x86\gen_matypes.obj
 
 $(LIBDIR)\x86.lib: x86\matypes.h $(X86_OBJS)
        $(AR) -out:$@ $(ARFLAGS) $(X86_OBJS)
@@ -403,10 +403,12 @@ $(LIBDIR)\x86.lib: x86\matypes.h $(X86_OBJS)
        $(RC) -Fo$@ $(INCS) $(FLAGS) -D__WIN32__ $<
 
 # [dBorca] Hack alert:
-# use standard API, to work around Win32 @x names
-# also glapi_x86.S is protected against __WIN32__
-main\dispatch.obj: main\dispatch.c
-       $(CC) $(CFLAGS) $(FLAGS) $(INCS) -UUSE_X86_ASM main\dispatch.c /Fo$*.obj
+# glapi_x86.S needs some adjustments
+# in order to generate correct entrypoints
+x86\glapi_x86.obj: x86\glapi_x86.S
+       $(CC) $(CFLAGS) $(FLAGS) $(INCS) x86\glapi_x86.S -DSTDCALL_API -DNASM_ASSEMBLER -EP > $*.i
+       $(AS) $(ASFLAGS) $(INCS) $*.i -o $*.obj
+       $(RM) $*.i
 
 #################################
 # cleanup rules
@@ -422,6 +424,7 @@ clean::
        $(RM) swrast_setup\*.obj
        $(RM) tnl\*.obj
        $(RM) x86\*.obj
+       $(RM) drivers\common\*.obj
        $(RM) drivers\glide\*.obj
         $(RM) drivers\glide\*.res
         $(RM) $(LIBDIR)\*.pdb