Imakefile   [plain text]


XCOMM $XFree86: xc/lib/GL/mesa/src/X86/Imakefile,v 1.27 2003/09/28 20:15:06 alanh Exp $

/*
 * Need both shared and unshared Mesa objects in the following cases:
 *   GlxDriverUsesMesa
 *   GlxBuiltInXMesa
 *   BuildOSMesaLib
 *
 * In other cases, only the shared version is needed to link in to loadable
 * driver modules.
 */

#if BuildOSMesaLib || (BuildXF86DRI && (GlxDriverUsesMesa || GlxBuiltInXMesa || BuildOSMesaLib))
#define DoNormalLib (NormalLibGlx || SharedLibGlxWithoutPIC)
#define DoSharedLib (SharedLibGlx && !SharedLibGlxWithoutPIC)
#define DoExtraLib SharedLibGlx
#define DoDebugLib DebugLibGlx
#define DoProfileLib ProfileLibGlx
#else
#define DoNormalLib SharedLibGlxWithoutPIC
#define DoSharedLib !SharedLibGlxWithoutPIC
#define DoExtraLib NO
#define DoDebugLib NO
#define DoProfileLib NO
#endif


#if Malloc0ReturnsNull
ALLOC_DEFINES = -DMALLOC_0_RETURNS_NULL
#endif

#define MesaX86BuildDir /**/
#define NeedToLinkMesaSrc
#include "Imakefile.inc"

      DEFINES = $(ALLOC_DEFINES) GlxDefines $(MESA_ASM_DEFINES)
     INCLUDES = -I$(INCLUDESRC) -I$(EXTINCSRC) -I$(MESASRCDIR)/src \
		-I$(MESASRCDIR)/src/X86 \
		-I../../../include

         SRCS = $(MESA_ASM_SRCS) gen_matypes.c
         OBJS = $(MESA_ASM_OBJS)

#include <Library.tmpl>

LibraryObjectRule()

STD_CPP_DEFINES = StandardDefines $(PROJECT_DEFINES)

SubdirLibraryRule($(OBJS))
NormalLintTarget($(SRCS))

ObjectFromAsmSource(common_x86_asm, NullParameter)

ObjectFromAsmSource(x86_cliptest, NullParameter)
ObjectFromAsmSource(x86_xform2, NullParameter)
ObjectFromAsmSource(x86_xform3, NullParameter)
ObjectFromAsmSource(x86_xform4, NullParameter)

#if MesaUseMMX
ObjectFromAsmSource(mmx_blend, NullParameter)
#endif

#if MesaUse3DNow
ObjectFromAsmSource(3dnow_normal, NullParameter)
ObjectFromAsmSource(3dnow_xform1, NullParameter)
ObjectFromAsmSource(3dnow_xform2, NullParameter)
ObjectFromAsmSource(3dnow_xform3, NullParameter)
ObjectFromAsmSource(3dnow_xform4, NullParameter)
#endif

#if MesaUseSSE
ObjectFromAsmSource(sse_normal, NullParameter)
ObjectFromAsmSource(sse_xform1, NullParameter)
ObjectFromAsmSource(sse_xform2, NullParameter)
ObjectFromAsmSource(sse_xform3, NullParameter)
ObjectFromAsmSource(sse_xform4, NullParameter)
#endif

LinkSourceFile(gen_matypes.c, $(MESASRCDIR)/src/X86)

MATYPES = ./gen_matypes

matypes.h: gen_matypes.c
	RemoveFiles($@ HostProgramTargetName(gen_matypes))
	-HostLinkRule(HostProgramTargetName(gen_matypes),$(CFLAGS) $(LOCAL_LDFLAGS),gen_matypes.c,$(LDLIBS))
	RunProgram(MATYPES,> matypes_h)
	$(MV) matypes_h $@
	RemoveFiles(HostProgramTargetName(gen_matypes))

includes:: matypes.h

depend:: matypes.h

clean::
	RemoveFiles(matypes.h HostProgramTargetName(gen_matypes))

DependTarget()