NULL =

#include <Server.tmpl>

#ifdef FbNoPixelAddrCode
FB_DEFINES=-DFBNOPIXADDR -DFBNO24BIT
#endif

#if HasShm
SHM_DEFINES = ShmDefines
#endif

#if BuildRender
RENDERSRC = fbcompose.c
RENDEROBJ = fbcompose.o
#endif

#if defined(NXAgentServer) && NXAgentServer
NX_DEFINES = -DNXAGENT_SERVER
#endif

#if defined(NXAgentServer) && NXAgentServer
     DEFINES = $(FB_DEFINES) $(NX_DEFINES)
#else
     DEFINES = $(FB_DEFINES)
#endif

SRCS =	$(XFMODSRC) \
	fballpriv.c \
	fbbits.c \
	fbblt.c \
	fbbltone.c \
	fbbstore.c \
	fbcmap.c \
	$(RENDERSRC) \
	fbcopy.c \
	fbedge.c \
	fbfill.c \
	fbfillrect.c \
	fbfillsp.c \
	fbgc.c \
	fbgetsp.c \
	fbglyph.c \
	fbimage.c \
	fbline.c \
	fboverlay.c \
	fbpixmap.c \
	fbpoint.c \
	fbpush.c \
	fbscreen.c \
	fbseg.c \
	fbsetsp.c \
	fbsolid.c \
	fbstipple.c \
	fbtile.c \
	fbtrap.c \
	fbutil.c \
	fbwindow.c \
	fb24_32.c \
	fbpict.c \
	$(NULL)

OBJS =	$(XFMODOBJ) \
	fbarc.o \
	fballpriv.o \
	fbbits.o \
	fbblt.o \
	fbbltone.o \
	fbbstore.o \
	fbcmap.o \
	$(RENDEROBJ) \
	fbcopy.o \
	fbedge.o \
	fbfill.o \
	fbfillrect.o \
	fbfillsp.o \
	fbgc.o \
	fbgetsp.o \
	fbglyph.o \
	fbimage.o \
	fbline.o \
	fboverlay.o \
	fbpixmap.o \
	fbpoint.o \
	fbpush.o \
	fbscreen.o \
	fbseg.o \
	fbsetsp.o \
	fbsolid.o \
	fbstipple.o \
	fbtile.o \
	fbtrap.o \
	fbutil.o \
	fbwindow.o \
	fb24_32.o \
	fbpict.o \
	$(NULL)

   INCLUDES = -I$(SERVERSRC)/fb -I$(SERVERSRC)/mi -I$(SERVERSRC)/include \
	      -I$(XINCLUDESRC) \
	      -I$(XF86SRC)/common $(EXTRAINCLUDES) \
	      -I$(SERVERSRC)/render -I$(EXTINCSRC) -I$(SERVERSRC)/Xext \
	      `pkg-config --cflags-only-I pixman-1`
   LINTLIBS = $(SERVERSRC)/dix/llib-ldix.ln $(SERVERSRC)/os/llib-los.ln \
	     $(SERVERSRC)/mi/llib-lmi.ln

NormalLibraryObjectRule()
NormalLibraryTarget(fb,$(OBJS))

LintLibraryTarget(fb,$(SRCS))

NormalLintTarget($(SRCS))


DependTarget()

#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
#endif

SpecialCObjectRule(fboverlay,$(ICONFIGFILES),$(SHM_DEFINES))

#ifdef LinkDirectory
LinkSourceFile(fb24_32.c,LinkDirectory)
LinkSourceFile(fballpriv.c,LinkDirectory)
LinkSourceFile(fbarc.c,LinkDirectory)
LinkSourceFile(fbbits.c,LinkDirectory)
LinkSourceFile(fbblt.c,LinkDirectory)
LinkSourceFile(fbbltone.c,LinkDirectory)
LinkSourceFile(fbbstore.c,LinkDirectory)
LinkSourceFile(fbcmap.c,LinkDirectory)
#if BuildRender
LinkSourceFile(fbcompose.c,LinkDirectory)
#endif
LinkSourceFile(fbcopy.c,LinkDirectory)
LinkSourceFile(fbfill.c,LinkDirectory)
LinkSourceFile(fbfillrect.c,LinkDirectory)
LinkSourceFile(fbfillsp.c,LinkDirectory)
LinkSourceFile(fbgc.c,LinkDirectory)
LinkSourceFile(fbgetsp.c,LinkDirectory)
LinkSourceFile(fbglyph.c,LinkDirectory)
LinkSourceFile(fbimage.c,LinkDirectory)
LinkSourceFile(fbline.c,LinkDirectory)
LinkSourceFile(fbmodule.c,LinkDirectory)
LinkSourceFile(fboverlay.c,LinkDirectory)
LinkSourceFile(fbpict.c,LinkDirectory)
LinkSourceFile(fbpixmap.c,LinkDirectory)
LinkSourceFile(fbpoint.c,LinkDirectory)
LinkSourceFile(fbpush.c,LinkDirectory)
LinkSourceFile(fbscreen.c,LinkDirectory)
LinkSourceFile(fbseg.c,LinkDirectory)
LinkSourceFile(fbsetsp.c,LinkDirectory)
LinkSourceFile(fbsolid.c,LinkDirectory)
LinkSourceFile(fbstipple.c,LinkDirectory)
LinkSourceFile(fbtile.c,LinkDirectory)
LinkSourceFile(fbtrap.c,LinkDirectory)
LinkSourceFile(fbutil.c,LinkDirectory)
LinkSourceFile(fbwindow.c,LinkDirectory)
#endif

InstallDriverSDKLibraryModule(fb,$(DRIVERSDKMODULEDIR),.)
InstallDriverSDKNonExecFile(fb.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(fbrop.h,$(DRIVERSDKINCLUDEDIR))