Merge branch 'mesa_7_5_branch'
[mesa.git] / src / mesa / main / Makefile.win
1 # Makefile for Win32
2 #
3 # NOTE: the install target may overwrite important files in the system dirs
4 # Check first, before making the install target.
5 #
6 # This builds both the osmesa and Windows drivers.
7 #
8
9 !include <win32.mak>
10
11 TOP = ..
12 SUBDIRS = osmesa.dir
13
14 CORE_SRCS = \
15 api_loopback.c \
16 api_noop.c \
17 api_validate.c \
18 accum.c \
19 arbprogram.c \
20 attrib.c \
21 blend.c \
22 bufferobj.c \
23 buffers.c \
24 clip.c \
25 colortab.c \
26 context.c \
27 convolve.c \
28 debug.c \
29 depth.c \
30 dispatch.c \
31 dlist.c \
32 drawpix.c \
33 enable.c \
34 enums.c \
35 eval.c \
36 extensions.c \
37 feedback.c \
38 fog.c \
39 get.c \
40 glapi.c \
41 glthread.c \
42 hash.c \
43 hint.c \
44 histogram.c \
45 image.c \
46 imports.c \
47 light.c \
48 lines.c \
49 matrix.c \
50 nvprogram.c \
51 nvfragparse.c \
52 nvvertexec.c \
53 nvvertparse.c \
54 pixel.c \
55 points.c \
56 polygon.c \
57 rastpos.c \
58 state.c \
59 stencil.c \
60 texcompress.c \
61 texcompress_fxt1.c \
62 texcompress_s3tc.c \
63 teximage.c \
64 texformat.c \
65 texobj.c \
66 texstate.c \
67 texstore.c \
68 varray.c \
69 vtxfmt.c \
70 # X86\x86.c \
71 # X86\common_x86.c \
72 # X86\3dnow.c \
73 # X86\sse.c \
74 math\m_debug_norm.c \
75 math\m_debug_xform.c \
76 math\m_eval.c \
77 math\m_matrix.c \
78 math\m_translate.c \
79 math\m_vector.c \
80 math\m_xform.c \
81 array_cache\ac_context.c \
82 array_cache\ac_import.c \
83 swrast\s_aaline.c \
84 swrast\s_aatriangle.c \
85 swrast\s_accum.c \
86 swrast\s_alpha.c \
87 swrast\s_alphabuf.c \
88 swrast\s_bitmap.c \
89 swrast\s_blend.c \
90 swrast\s_buffers.c \
91 swrast\s_copypix.c \
92 swrast\s_context.c \
93 swrast\s_depth.c \
94 swrast\s_drawpix.c \
95 swrast\s_feedback.c \
96 swrast\s_fog.c \
97 swrast\s_imaging.c \
98 swrast\s_lines.c \
99 swrast\s_logic.c \
100 swrast\s_masking.c \
101 swrast\s_nvfragprog.c \
102 swrast\s_pixeltex.c \
103 swrast\s_points.c \
104 swrast\s_readpix.c \
105 swrast\s_span.c \
106 swrast\s_stencil.c \
107 swrast\s_texstore.c \
108 swrast\s_texture.c \
109 swrast\s_triangle.c \
110 swrast\s_zoom.c \
111 swrast_setup\ss_context.c \
112 swrast_setup\ss_triangle.c \
113 swrast_setup\ss_vb.c \
114 tnl\t_array_api.c \
115 tnl\t_array_import.c \
116 tnl\t_context.c \
117 tnl\t_eval_api.c \
118 tnl\t_imm_alloc.c \
119 tnl\t_imm_api.c \
120 tnl\t_imm_debug.c \
121 tnl\t_imm_dlist.c \
122 tnl\t_imm_elt.c \
123 tnl\t_imm_eval.c \
124 tnl\t_imm_exec.c \
125 tnl\t_imm_fixup.c \
126 tnl\t_pipeline.c \
127 tnl\t_vb_fog.c \
128 tnl\t_vb_light.c \
129 tnl\t_vb_normals.c \
130 tnl\t_vb_points.c \
131 tnl\t_vb_program.c \
132 tnl\t_vb_render.c \
133 tnl\t_vb_texgen.c \
134 tnl\t_vb_texmat.c \
135 tnl\t_vb_vertex.c
136
137 DRIVER_SRCS = \
138 Trace\tr_context.c \
139 Trace\tr_control.c \
140 Trace\tr_error.c \
141 Trace\tr_support.c \
142 Trace\tr_wrapper.c \
143 Trace\tr_write.c \
144 Windows\wgl.c \
145 Windows\wmesa.c
146
147 ASM_SRCS =
148
149 SRCS = $(CORE_SRCS) $(DRIVER_SRCS)
150
151 all : mesadll $(SUBDIRS)
152
153 !include "$(TOP)/mesawin32.mak"
154
155 mesadll : $(MESADLL)
156
157 CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -DBUILD_GL32 -DNO_PARALLEL -DNO_STEREO
158 !IFNDEF NODEBUG
159 CFLAGS = $(CFLAGS) -DMESA_DEBUG
160 !ENDIF
161 LFLAGS = $(dlllflags) $(lcommon) $(LFLAGS)
162
163 OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj)
164 LIBS = winmm.lib $(guilibsdll)
165
166 $(MESADLL) : $(OBJS) mesa.def
167 $(link) $(LFLAGS) -out:$(MESADLL) -def:mesa.def $(OBJS) $(LIBS)
168 @echo "copying Mesa dynamic link library to lib directory..."
169 -copy $(MESADLL) ..\lib
170 @echo "copying Mesa import library to lib directory..."
171 -copy $(MESALIB) ..\lib
172
173 $(SUBDIRS) :
174 @echo.
175 @echo Making in $* directory
176 @cd $*
177 @nmake -f Makefile.win -nologo
178 @cd ..
179
180 install : $(MESADLL)
181 @echo.
182 @echo "copying Mesa dynamic link library to system directory..."
183 -copy $(MESADLL) $(DLLINSTALL)
184 @echo "copying Mesa header files to include directory..."
185 -copy ..\..\include\GL\gl.h $(INCLUDEINSTALL)
186 -copy ..\..\include\GL\glext.h $(INCLUDEINSTALL)
187 @echo "copying Mesa import library to library directory..."
188 -copy $(MESALIB) $(LIBINSTALL)
189
190 clean ::
191 @del /f tnl\*.obj
192 @del /f swrast_setup\*.obj
193 @del /f math\*.obj
194 @del /f array_cache\*.obj
195 @del /f swrast\*.obj
196 @del /f Trace\*.obj
197 @del /f osmesa\*.obj
198 @del /f Windows\*.obj
199
200 clobber ::
201 @del /f OSmesa\*.lib
202 @del /f OSmesa\*.exp
203 @del /f OSmesa\*.dll
204
205 # override default inference rule with one that writes the object to
206 # the same subdir that the c file is in.
207 .c.obj :
208 $(cc) $(CFLAGS) -I. $< /Fo$*.obj