Files
xsrc/xfree/xc/programs/Xserver/os/Imakefile

290 lines
8.8 KiB
Plaintext

XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.44 2005/02/03 02:01:14 dawes Exp $
/*
* Copyright (c) 1996-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 BuildSeparateTinyDIX && !BuildTinyDIX
#define IHaveSubdirs
SUBDIRS = tiny
#endif
#include <Server.tmpl>
/*
* If you have any extra files to be put into the library, define them here.
*/
#ifdef HPArchitecture
#define OtherSources hpsocket.c
#define OtherObjects hpsocket.o
#endif
/*
* do not modify the following two definitions
*/
#ifndef OtherSources
#define OtherSources
#endif
#ifndef OtherObjects
#define OtherObjects
#endif
#if HasXdmAuth
XDMAUTHDEFS = -DHASXDMAUTH
XDMAUTHOBJS = xdmauth.o
XDMAUTHSRCS = xdmauth.c
#else
XDMAUTHDEFS =
XDMAUTHOBJS =
XDMAUTHSCRS =
#endif
#if HasSecureRPC
RPCDEFS = -DSECURE_RPC
RPCOBJS = rpcauth.o
RPCSRCS = rpcauth.c
#else
RPCDEFS =
RPCOBJS =
RPCSRCS =
#endif
#if HasKrb5
KRB5OBJS = k5auth.o k5encode.o
KRB5SRCS = k5auth.c k5encode.c
#endif
#if HasBSD44Sockets
SOCK_DEFINES = -DBSD44SOCKETS
#endif
#if HasGetIfAddrs
IFADDRS_DEFINES = -DHAS_GETIFADDRS
#endif
#if BuildLBX
LBX_SRCS = lbxio.c
LBX_OBJS = lbxio.o
#else
LBX_SRCS =
LBX_OBJS =
#endif
#if !defined(DDXOsColor)
COLOR_SRCS=oscolor.c
COLOR_OBJS=oscolor.o
#endif
#if UseInternalMalloc
MALLOC_SRCS=xalloc.c
MALLOC_OBJS=xalloc.o
#endif
#if !HasSnprintf
SNPRINTF_SRCS = snprintf.c
SNPRINTF_OBJS = snprintf.o
#endif
#if HasAsprintf
ASPRINTF_DEFINES = -DHAS_ASPRINTF
#endif
#if !HasStrlcat
STRLCAT_SRCS = strlcat.c strlcpy.c
STRLCAT_OBJS = strlcat.o strlcpy.o
#endif
#if HasGetpeereid
GETPEEREID_DEFINES = -DHAS_GETPEEREID
#endif
BOOTSTRAPCFLAGS =
SRCS = WaitFor.c access.c connection.c io.c $(COLOR_SRCS) \
osinit.c utils.c log.c auth.c mitauth.c secauth.c \
$(XDMAUTHSRCS) $(RPCSRCS) $(KRB5SRCS) xdmcp.c OtherSources \
transport.c $(SNPRINTF_SRCS) $(STRLCAT_SRCS) \
GetTimeInMillis.c $(MALLOC_SRCS) $(LBX_SRCS)
OBJS = WaitFor.o access.o connection.o io.o $(COLOR_OBJS) \
osinit.o utils.o log.o auth.o mitauth.o secauth.o \
$(XDMAUTHOBJS) $(RPCOBJS) $(KRB5OBJS) xdmcp.o OtherObjects \
transport.o $(SNPRINTF_OBJS) $(STRLCAT_OBJS) \
GetTimeInMillis.o $(MALLOC_OBJS) $(LBX_OBJS)
#if SpecialMalloc
MEM_DEFINES = -DSPECIAL_MALLOC
#endif /* SpecialMalloc */
#if UseInternalMalloc
MEM_DEFINES = -DINTERNAL_MALLOC
#endif
#if UseMemLeak
MEM_DEFINES = -DMEMBUG
#endif
#if UseRgbTxt
RGB_DEFINES = -DUSE_RGB_TXT
#endif
DBM_DEFINES = NdbmDefines
ADM_DEFINES = -DADMPATH=\"$(ADMDIR)/X\%smsgs\"
XDMCP_DEFINES = ServerXdmcpDefines
KRB5_DEFINES = Krb5Defines
XALLOC_DEFINES = XallocDefines
ERROR_DEFINES = ServerErrorDefines
#ifdef HasArc4random
RANDOM_DEFINES = -DHAVE_ARC4RANDOM
#else
RANDOM_DEFINES =
#endif
#if HasPam && HasPamMisc
PAM_DEFINES = -DUSE_PAM
#endif
#if BuildTinyDIX
TINY_DEFINES = TinyDIXDefines
#endif
#if !HasStrlcat
STRLCAT_DEFINES = -DNEED_STRLCAT
#endif
DEFINES = -DXSERV_t -DTRANS_SERVER $(CONNECTION_FLAGS) $(MEM_DEFINES) \
$(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) \
$(KRB5_DEFINES) $(RGB_DEFINES) $(GETPEEREID_DEFINES) \
$(STRLCAT_DEFINES) $(RANDOM_DEFINES) $(TINY_DEFINES) \
$(ASPRINTF_DEFINES)
INCLUDES = -I$(SERVERSRC)/os -I$(SERVERSRC)/include -I$(XINCLUDESRC) \
-I$(EXTINCSRC) \
-I$(SERVERSRC)/Xext -I$(FONTINCSRC) -I$(SERVERSRC)/render \
-I$(TOP)/lib/Xau -I$(SERVERSRC)/lbx Krb5Includes
DEPEND_DEFINES = $(DBM_DEFINES) $(XDMCP_DEFINES) $(EXT_DEFINES) \
$(TRANS_INCLUDES) $(CONNECTION_FLAGS) DependDefines
LINTLIBS = ../dix/llib-ldix.ln
#ifdef NEED_ALLOCA_FROM_LIBPW
PWLIB = /lib/libPW.a
#endif /* NEED_ALLOCA_FROM_LIBPW */
NormalLibraryObjectRule()
NormalLibraryTarget(os,$(OBJS))
LintLibraryTarget(os,$(SRCS))
NormalLintTarget($(SRCS))
#ifdef NEED_ALLOCA_FROM_LIBPW
XCOMM
XCOMM And this one is to get the version of alloca that lives in /lib/libPW.a
XCOMM without getting all of the rest of the stuff in there.
XCOMM
alloca.o: $(PWLIB)
rm -f alloca.o
ar x $(PWLIB) alloca.o
#endif /* NEED_ALLOCA_FROM_LIBPW */
SpecialCObjectRule(access,$(ICONFIGFILES),$(XDMCP_DEFINES) $(SOCK_DEFINES) $(IFADDRS_DEFINES))
SpecialCObjectRule(auth,$(ICONFIGFILES),$(XDMCP_DEFINES) $(RANDOM_DEFINES))
SpecialCObjectRule(xdmauth,$(ICONFIGFILES),$(XDMCP_DEFINES))
SpecialCObjectRule(xdmcp,$(ICONFIGFILES),$(SOCK_DEFINES) $(XDMCP_DEFINES))
SpecialCObjectRule(connection,$(ICONFIGFILES),$(SOCK_DEFINES) $(XDMCP_DEFINES))
SpecialCObjectRule(transport,$(ICONFIGFILES),$(TRANS_INCLUDES) $(CONN_DEFINES) $(SOCK_DEFINES))
LinkSourceFile(transport.c,$(TRANSCOMMSRC))
SpecialCObjectRule(osinit,$(ICONFIGFILES),$(ADM_DEFINES))
SpecialCObjectRule(WaitFor,$(ICONFIGFILES),$(EXT_DEFINES) $(TINY_DEFINES))
SpecialCObjectRule(io,$(ICONFIGFILES),$(EXT_DEFINES) $(TINY_DEFINES))
#if BuildLBX
SpecialCObjectRule(lbxio,$(ICONFIGFILES),$(EXT_DEFINES) $(TINY_DEFINES))
#endif
SpecialCObjectRule(utils,$(ICONFIGFILES),$(XDMCP_DEFINES) $(EXT_DEFINES) $(TINY_DEFINES) $(ERROR_DEFINES) $(PAM_DEFINES))
SpecialCObjectRule(xalloc,$(ICONFIGFILES),$(XALLOC_DEFINES))
#if defined(SparcArchitecture) && HasGcc && !HasGcc2
oscolor.o: oscolor.c $(ICONFIGFILES)
$(RM) $@
cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
#else
SpecialCObjectRule(oscolor,$(ICONFIGFILES),$(DBM_DEFINES))
#endif
#if HasKrb5
LinkSourceFile(k5encode.c,$(XAUTHSRC))
#endif
#if !HasSnprintf
LinkSourceFile(snprintf.c,$(LIBSRC)/misc)
#endif
#if !HasStrlcat
LinkSourceFile(strlcat.c,$(LIBSRC)/misc)
LinkSourceFile(strlcpy.c,$(LIBSRC)/misc)
#endif
DependTarget()
#ifdef IHaveSubdirs
MakeSubdirs($(SUBDIRS))
DependSubdirs($(SUBDIRS))
#endif
#ifdef LinkDirectory
LinkSourceFile(WaitFor.c,LinkDirectory)
LinkSourceFile(access.c,LinkDirectory)
LinkSourceFile(auth.c,LinkDirectory)
LinkSourceFile(connection.c,LinkDirectory)
LinkSourceFile(hpsocket.c,LinkDirectory)
LinkSourceFile(io.c,LinkDirectory)
LinkSourceFile(k5auth.c,LinkDirectory)
LinkSourceFile(lbxio.c,LinkDirectory)
LinkSourceFile(log.c,LinkDirectory)
LinkSourceFile(mitauth.c,LinkDirectory)
LinkSourceFile(oscolor.c,LinkDirectory)
LinkSourceFile(osinit.c,LinkDirectory)
LinkSourceFile(rpcauth.c,LinkDirectory)
LinkSourceFile(secauth.c,LinkDirectory)
LinkSourceFile(utils.c,LinkDirectory)
LinkSourceFile(xalloc.c,LinkDirectory)
LinkSourceFile(xdmauth.c,LinkDirectory)
LinkSourceFile(xdmcp.c,LinkDirectory)
#endif