1/* 2 * Copyright 1994 Network Computing Devices, Inc. 3 * 4 * Permission to use, copy, modify, distribute, and sell this software and 5 * its documentation for any purpose is hereby granted without fee, provided 6 * that the above copyright notice appear in all copies and that both that 7 * copyright notice and this permission notice appear in supporting 8 * documentation, and that the name Network Computing Devices, Inc. not be 9 * used in advertising or publicity pertaining to distribution of this 10 * software without specific, written prior permission. 11 * 12 * THIS SOFTWARE IS PROVIDED 'AS-IS'. NETWORK COMPUTING DEVICES, INC., 13 * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT 14 * LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 15 * PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK 16 * COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING 17 * SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE, DATA, 18 * OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND REGARDLESS OF 19 * WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE, ARISING OUT OF OR IN 20 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 21 * 22 * $Id: Imakefile 280 2011-01-25 18:33:54Z auerswald $ 23 * $NCDId: @(#)Imakefile,v 1.21 1996/09/04 23:06:02 greg Exp $ 24 */ 25 26#include "../../config/NetAudio.tmpl" 27 28#include <Threads.tmpl> 29 30#if ProjectX < 5 31/* Pre-X11R5 compatability */ 32#ifndef NormalLibX 33#define NormalLibX YES 34#endif 35#endif /* ProjectX < 5 */ 36 37#ifndef NormalLibAudio 38#define NormalLibAudio NormalLibX 39#endif 40#ifndef SharedLibAudio 41#define SharedLibAudio SharedLibX 42#endif 43#ifndef DebugLibAudio 44#define DebugLibAudio DebugLibX 45#endif 46#ifndef ProfileLibAudio 47#define ProfileLibAudio ProfileLibX 48#endif 49 50#define DoDebugLib DebugLibAudio 51#define DoProfileLib ProfileLibAudio 52 53 54/* must include <Library.tmpl> *after* the above 4 lines */ 55#include <Library.tmpl> 56 57#if SystemV && !SystemV4 && !defined(XFree86Version) && !defined(AIXArchitecture) 58 SYSV_DEFINES = -DAU_NOT_STDC_ENV -D_AuNEEDBCOPYFUNC -DNEED_FAKE_XWIN 59#endif 60 61XCOMM JET - hmmm. 62#if (defined(FreeBSDArchitecture) || defined(NetBSDArchitecture) || defined(BSDArchitecture)) && defined(HasBSD44Sockets) 63 EXTRA_DEFINES = -DBSD44SOCKETS 64#endif 65 66XCOMM JET - see if we should avoid streams 67#if (SystemV || SystemV4) 68/* JET - streams are just too problematic. UNIX/TCP CONN will do fine */ 69#undef ConnectionFlags 70#define ConnectionFlags -DTCPCONN -DUNIXCONN 71#endif 72 73#if Malloc0ReturnsNull 74 MALLOC_DEFINES = -DMALLOC_0_RETURNS_NULL 75#endif 76 77#if ProjectX < 5 78 COMPAT_SRCS = AuGetBest.c 79 COMPAT_OBJS = AuGetBest.o 80#endif /* ProjectX < 5 */ 81 82 EDB_DEFINES = -DERRORDB=\"$(LIBDIR)/AuErrorDB\" 83 84 DEFINES = $(MALLOC_DEFINES) $(SYSV_DEFINES) 85 CONN_DEFINES = ConnectionFlags 86 87HEADERS = Alibint.h Alibnet.h Xtutil.h audiolib.h audioutil.h snd.h wave.h \ 88 voc.h aiff.h sound.h soundlib.h fileutil.h 8svx.h Astreams.h \ 89 audio.h Afuncproto.h Afuncs.h Amd.h Amd.h Aos.h Aosdefs.h Aproto.h \ 90 mutex.h release.h 91 92 SRCS = AlibAsync.c Alibint.c AuErrDes.c AuFreeEData.c CloseSvr.c ConnSvr.c \ 93 CrFlow.c DesFlow.c Flush.c HandleEv.c IDOfEvent.c KillClient.c \ 94 NextEvent.c OpenSvr.c ReqEvent.c ScanEvents.c ScanTEvent.c \ 95 SetElState.c GetElState.c SetElement.c GetElement.c SvrName.c Sync.c \ 96 ReadEl.c WriteEl.c Util.c SetElParms.c GetDevAttr.c \ 97 SetDevAttr.c CrBucket.c DesBucket.c GetBucAttr.c ListBucket.c \ 98 ListDevice.c GetSvrTime.c SetClsDwnMd.c GetClsDwnMd.c \ 99 convutil.c fileutil.c monitor.c bcache.c \ 100 globals.c Astreams.c ErrHndlr.c $(COMPAT_SRCS) \ 101 snd.c wave.c voc.c aiff.c 8svx.c sound.c soundlib.c mutex.c 102 103 OBJS = AlibAsync.o Alibint.o AuErrDes.o AuFreeEData.o CloseSvr.o ConnSvr.o \ 104 CrFlow.o DesFlow.o Flush.o HandleEv.o IDOfEvent.o KillClient.o \ 105 NextEvent.o OpenSvr.o ReqEvent.o ScanEvents.o ScanTEvent.o \ 106 SetElState.o GetElState.o SetElement.o GetElement.o SvrName.o Sync.o \ 107 Xtutil.o ReadEl.o WriteEl.o Util.o SetElParms.o GetDevAttr.o \ 108 SetDevAttr.o CrBucket.o DesBucket.o GetBucAttr.o ListBucket.o \ 109 ListDevice.o GetSvrTime.o SetClsDwnMd.o GetClsDwnMd.o \ 110 convutil.o fileutil.o monitor.o bcache.o \ 111 globals.o Astreams.o ErrHndlr.o $(COMPAT_OBJS) \ 112 snd.o wave.o voc.o aiff.o 8svx.o sound.o soundlib.o mutex.o 113 114#if ProjectX >= 5 115LibraryObjectRule() 116 117SpecialLibObjectRule(ConnSvr.o,/**/,$(CONN_DEFINES)) 118SpecialLibObjectRule(AuErrDes.o,/**/,$(CONN_DEFINES) $(EDB_DEFINES)) 119SpecialLibObjectRule(OpenSvr.o,/**/,$(CONN_DEFINES)) 120SpecialLibObjectRule(Alibint.o,/**/,$(CONN_DEFINES)) 121SpecialLibObjectRule(Astreams.o,/**/,$(CONN_DEFINES)) 122SpecialLibObjectRule(globals.o,/**/,$(CONN_DEFINES)) 123#else 124/* Pre-X11R5 compatability */ 125NormalLibraryObjectRule() 126 127all:: libaudio.a 128 129SpecialObjectRule(ConnSvr.o,/**/,$(CONN_DEFINES)) 130SpecialObjectRule(AuErrDes.o,/**/,$(CONN_DEFINES) $(EDB_DEFINES)) 131SpecialObjectRule(OpenSvr.o,/**/,$(CONN_DEFINES)) 132SpecialObjectRule(Alibint.o,/**/,$(CONN_DEFINES)) 133SpecialObjectRule(Astreams.o,/**/,$(CONN_DEFINES)) 134SpecialObjectRule(globals.o,/**/,$(CONN_DEFINES)) 135 136#endif 137BuildIncludes($(HEADERS),audio,..) 138InstallMultiple($(HEADERS),$(INCDIR)) 139#if ProjectX >= 5 140InstallNonExecFile(AuErrorDB,$(LIBDIR)) 141#else 142install:: 143 $(MKDIRHIER) $(LIBDIR) 144InstallNonExec(AuErrorDB,$(LIBDIR)) 145#endif 146 147#if defined(HPArchitecture) && !defined(LinuxArchitecture) && !defined(GNUArchitecture) && !defined(DarwinArchitecture) 148XAULIB = 149#else 150XAULIB = -lXau 151#endif 152 153REQUIREDLIBS = -L$(USRLIBDIR) -lXt $(XAULIB) -lm 154 155#if defined(cygwinArchitecture) 156REQUIREDLIBS = $(LDPRELIB) $(XAUTHLIB) $(XTOOLLIB) $(XONLYLIB) 157STD_INCLUDES = -I/usr/include 158#endif 159 160 161#if DoSharedLib 162#if DoNormalLib 163#if ProjectX >= 5 164SharedLibraryTarget(audio,$(SOAUDIOREV),$(OBJS),.,.) 165#else 166SharedLibraryTarget(audio,$(SOAUDIOREV),$(OBJS),shared,..) 167#endif 168#else 169# if ProjectX >= 5 170#ifdef WIN32 171REQUIREDLIBS = $(XAUTHLIB) $(XTOOLLIB) $(XONLYLIB) 172#endif /* WIN32 */ 173SharedLibraryTarget(audio,$(SOAUDIOREV),$(OBJS),unshared,..) 174#else 175SharedLibraryTarget(audio,$(SOAUDIOREV),$(OBJS),.,.) 176#endif 177#endif 178#ifdef notyet 179SharedLibraryDataTarget(audio,$(SOAUDIOREV),$(UNSHAREDOBJS)) 180#endif 181InstallSharedLibrary(audio,$(SOAUDIOREV),$(USRLIBDIR)) 182#ifdef notyet 183InstallSharedLibraryData(audio,$(SOAUDIOREV),$(USRLIBDIR)) 184#endif 185#endif 186 187#if DoNormalLib 188NormalLibraryTarget(audio,$(OBJS)) 189InstallLibrary(audio,$(USRLIBDIR)) 190#endif 191 192#if DoProfileLib 193ProfiledLibraryTarget(audio,$(OBJS)) 194InstallLibrary(audio_p,$(USRLIBDIR)) 195#endif 196 197#if DoDebugLib 198DebuggedLibraryTarget(audio,$(OBJS)) 199InstallLibrary(audio_d,$(USRLIBDIR)) 200#endif 201 202BuildReleaseHeader() 203 204/* because nameaddr.c is conditionally included */ 205Astreams.o: nameaddr.c 206Astreams.o: nameserver.c 207 208depend:: $(SRCS) 209 210DependTarget() 211