# 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.0 for Mesa
+# MinGW core makefile v1.2 for Mesa
#
# Copyright (C) 2002 - Borca Daniel
# Email : dborca@users.sourceforge.net
.PHONY: all clean
.INTERMEDIATE: x86/gen_matypes.exe
+.SUFFIXES: .rc .res
TOP = ../..
GLIDE ?= $(TOP)/glide3
ifeq ($(FX),1)
CFLAGS += -DH3
CFLAGS += -I$(GLIDE)/include -DFX
-LDLIBS += -L$(GLIDE)/lib -lglide3
+LDLIBS += -L$(GLIDE)/lib -lglide3x
GL_DEF = drivers/glide/fxopengl.def
+GL_RES = drivers/glide/fx.rc
else
GL_DEF = drivers/windows/gdi/mesa.def
endif
UNLINK = $(RM) $(1)
endif
-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/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/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/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/m_xform.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/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
+include sources
X86_SOURCES = \
x86/x86.c \
$(GLAPI_SOURCES) \
$(MATH_SOURCES) \
$(ARRAY_CACHE_SOURCES) \
+ $(TNL_SOURCES) \
$(SWRAST_SOURCES) \
- $(SWRAST_SETUP_SOURCES) \
- $(TNL_SOURCES)
+ $(SWRAST_SETUP_SOURCES)
ifeq ($(HAVE_MMX),1)
X86_SOURCES += $(MMX_SOURCES)
drivers/glide/fxtris.c \
drivers/glide/fxvb.c \
drivers/glide/fxglidew.c \
+ drivers/glide/fxg.c \
drivers/glide/fxwgl.c
else
DRIVER_SOURCES = \
drivers/windows/gdi/wgl.c
endif
-SOURCES = $(CORE_SOURCES) $(X86_SOURCES) $(DRIVER_SOURCES)
+SOURCES = $(CORE_SOURCES) $(X86_SOURCES) $(COMMON_DRIVER_SOURCES) $(DRIVER_SOURCES)
OBJECTS = $(addsuffix .o,$(basename $(SOURCES)))
X86_OBJECTS = $(addsuffix .o,$(basename $(X86_SOURCES)))
+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)
-$(LIBDIR)/$(GL_DLL) $(LIBDIR)/$(GL_IMP): $(OBJECTS)
+$(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)
$(X86_OBJECTS): x86/matypes.h
x86/gen_matypes.exe: x86/gen_matypes.c
$(CC) -o $@ $(CFLAGS) -s $<
+# [dBorca] Hack alert:
+# glapi_x86.S needs some adjustments
+# in order to generate correct entrypoints
+x86/glapi_x86.o: x86/glapi_x86.S
+ $(CC) -o $@ $(CFLAGS) -U__WIN32__ -DSTDCALL_API -c $<
+#main/dispatch.o: main/dispatch.c
+# $(CC) -o $@ $(CFLAGS) -UUSE_X86_ASM -c $<
+
clean:
-$(call UNLINK,array_cache/*.o)
-$(call UNLINK,glapi/*.o)
-$(call UNLINK,x86/*.o)
-$(call UNLINK,drivers/windows/gdi/*.o)
-$(call UNLINK,drivers/glide/*.o)
+ -$(call UNLINK,drivers/glide/*.res)