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 /* * 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) \ $(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) \ $(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 #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)) 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