# Makefile for Win32 # # NOTE: the install target may overwrite important files in the system dirs # Check first, before making the install target. # # This builds both the osmesa and Windows drivers. # !include <win32.mak> TOP = .. SUBDIRS = osmesa.dir CORE_SRCS = \ api_loopback.c \ api_noop.c \ api_validate.c \ accum.c \ arbprogram.c \ attrib.c \ blend.c \ bufferobj.c \ buffers.c \ clip.c \ colortab.c \ context.c \ convolve.c \ debug.c \ depth.c \ dispatch.c \ dlist.c \ drawpix.c \ enable.c \ enums.c \ eval.c \ extensions.c \ feedback.c \ fog.c \ get.c \ glapi.c \ glthread.c \ hash.c \ hint.c \ histogram.c \ image.c \ imports.c \ light.c \ lines.c \ matrix.c \ nvprogram.c \ nvfragparse.c \ nvvertexec.c \ nvvertparse.c \ pixel.c \ points.c \ polygon.c \ rastpos.c \ state.c \ stencil.c \ texcompress.c \ texcompress_fxt1.c \ texcompress_s3tc.c \ teximage.c \ texformat.c \ texobj.c \ texstate.c \ texstore.c \ varray.c \ vtxfmt.c \ # X86\x86.c \ # X86\common_x86.c \ # X86\3dnow.c \ # X86\sse.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\ac_context.c \ array_cache\ac_import.c \ 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_texstore.c \ swrast\s_texture.c \ swrast\s_triangle.c \ swrast\s_zoom.c \ swrast_setup\ss_context.c \ swrast_setup\ss_triangle.c \ swrast_setup\ss_vb.c \ 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_SRCS = \ Trace\tr_context.c \ Trace\tr_control.c \ Trace\tr_error.c \ Trace\tr_support.c \ Trace\tr_wrapper.c \ Trace\tr_write.c \ Windows\wgl.c \ Windows\wmesa.c ASM_SRCS = SRCS = $(CORE_SRCS) $(DRIVER_SRCS) all : mesadll $(SUBDIRS) !include "$(TOP)/mesawin32.mak" mesadll : $(MESADLL) CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -DBUILD_GL32 -DNO_PARALLEL -DNO_STEREO !IFNDEF NODEBUG CFLAGS = $(CFLAGS) -DMESA_DEBUG !ENDIF LFLAGS = $(dlllflags) $(lcommon) $(LFLAGS) OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj) LIBS = winmm.lib $(guilibsdll) $(MESADLL) : $(OBJS) mesa.def $(link) $(LFLAGS) -out:$(MESADLL) -def:mesa.def $(OBJS) $(LIBS) @echo "copying Mesa dynamic link library to lib directory..." -copy $(MESADLL) ..\lib @echo "copying Mesa import library to lib directory..." -copy $(MESALIB) ..\lib $(SUBDIRS) : @echo. @echo Making in $* directory @cd $* @nmake -f Makefile.win -nologo @cd .. install : $(MESADLL) @echo. @echo "copying Mesa dynamic link library to system directory..." -copy $(MESADLL) $(DLLINSTALL) @echo "copying Mesa header files to include directory..." -copy ..\..\include\GL\gl.h $(INCLUDEINSTALL) -copy ..\..\include\GL\glext.h $(INCLUDEINSTALL) @echo "copying Mesa import library to library directory..." -copy $(MESALIB) $(LIBINSTALL) clean :: @del /f tnl\*.obj @del /f swrast_setup\*.obj @del /f math\*.obj @del /f array_cache\*.obj @del /f swrast\*.obj @del /f Trace\*.obj @del /f osmesa\*.obj @del /f Windows\*.obj clobber :: @del /f OSmesa\*.lib @del /f OSmesa\*.exp @del /f OSmesa\*.dll # override default inference rule with one that writes the object to # the same subdir that the c file is in. .c.obj : $(cc) $(CFLAGS) -I. $< /Fo$*.obj