XCOMM $XFree86: xc/programs/Xserver/fb/Imakefile,v 1.22 2007/07/01 15:14:50 tsi Exp $
/*
 * Copyright (c) 1994-2004 by The XFree86 Project, Inc.
 * All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject
 * to the following conditions:
 *
 *   1.  Redistributions of source code must retain the above copyright
 *       notice, this list of conditions, and the following disclaimer.
 *
 *   2.  Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer
 *       in the documentation and/or other materials provided with the
 *       distribution, and in the same place and form as other copyright,
 *       license and disclaimer information.
 *
 *   3.  The end-user documentation included with the redistribution,
 *       if any, must include the following acknowledgment: "This product
 *       includes software developed by The XFree86 Project, Inc
 *       (http://www.xfree86.org/) and its contributors", in the same
 *       place and form as other third-party acknowledgments.  Alternately,
 *       this acknowledgment may appear in the software itself, in the
 *       same form and location as other such third-party acknowledgments.
 *
 *   4.  Except as contained in this notice, the name of The XFree86
 *       Project, Inc shall not be used in advertising or otherwise to
 *       promote the sale, use or other dealings in this Software without
 *       prior written authorization from The XFree86 Project, Inc.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#if DoLoadableServer
#if !BuildModuleInSubdir
#define IHaveModules
#elif !defined(IHaveModules)
#define IHaveSubdirs
SUBDIRS = module
#endif
#endif

#include <Server.tmpl>

#ifdef FbNoPixelAddrCode
DEFINES=-DFBNOPIXADDR -DFBNO24BIT
#endif

#if defined(IHaveModules)
XFMODSRC = fbmodule.c
XFMODOBJ = fbmodule.o
#endif

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

SRCS =	$(XFMODSRC) \
	fballpriv.c \
	fbbits.c \
	fbblt.c \
	fbbltone.c \
	fbbstore.c \
	fbcmap.c \
	$(RENDERSRC) \
	fbcopy.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

OBJS =	$(XFMODOBJ) \
	fbarc.o \
	fballpriv.o \
	fbbits.o \
	fbblt.o \
	fbbltone.o \
	fbbstore.o \
	fbcmap.o \
	$(RENDEROBJ) \
	fbcopy.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

   INCLUDES = -I$(SERVERSRC)/fb -I$(SERVERSRC)/mi -I$(SERVERSRC)/include \
	      -I$(XF86SRC)/common $(EXTRAINCLUDES) \
	      -I$(SERVERSRC)/render -I$(SERVERSRC)/Xext
   LINTLIBS = $(SERVERSRC)/dix/llib-ldix.ln $(SERVERSRC)/os/llib-los.ln \
	     $(SERVERSRC)/mi/llib-lmi.ln

#ifdef IHaveModules
ModuleObjectRule()
LibraryModuleTarget(fb,$(OBJS),.)
#else
NormalLibraryObjectRule()
NormalLibraryTarget(fb,$(OBJS))
#endif

LintLibraryTarget(fb,$(SRCS))

NormalLintTarget($(SRCS))

#ifdef IHaveModules
InstallLibraryModule(fb,$(MODULEDIR),.)
InstallDriverSDKLibraryModule(fb,$(DRIVERSDKMODULEDIR),.)
#endif

DependTarget()

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

#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

#if !defined(IHaveModules) || !BuildModuleInSubdir
InstallDriverSDKNonExecFile(fb.h,$(DRIVERSDKINCLUDEDIR))
InstallDriverSDKNonExecFile(fbrop.h,$(DRIVERSDKINCLUDEDIR))
#endif
