#define DoNormalLib  NO
#define DoSharedLib  YES
#define DoDebugLib   NO
#define DoProfileLib NO

/* only some architectures can build the anx device */
#if !defined(LinuxArchitecture) || !defined(FreeBSDArchitecture) || \
!defined(SunArchitecture)

XCOMM #include "../mas.tmpl"

XCOMM # for libs with one .c file, you can use SIMPLELIBNAME
          PREFIX = mas_anx

  ARCHDEVICESRCS = 
  ARCHDEVICEOBJS = 
  ARCHCLIENTSRCS = 
  ARCHCLIENTOBJS =
        ARCHDEFS =

#if defined(LinuxArchitecture) || defined(FreeBSDArchitecture)
      DEVICENAME = $(PREFIX)_oss_device
   CLIENTLIBNAME = $(PREFIX)
  ARCHDEVICESRCS = oss.c fd_device.c
  ARCHDEVICEOBJS = oss.o fd_device.o
        ARCHDEFS = -DANX_OSS
#endif

#ifdef SunArchitecture
      DEVICENAME = $(PREFIX)_solaris_device
   CLIENTLIBNAME = $(PREFIX)
  ARCHDEVICESRCS = solaris.c fd_device.c
  ARCHDEVICEOBJS = solaris.o fd_device.o
        ARCHDEFS = -DANX_SOLARIS
#endif

      DEVICESRCS = $(PREFIX)_device.c buffer.c mixer.c $(ARCHDEVICESRCS)
      DEVICEOBJS = $(PREFIX)_device.o buffer.o mixer.o $(ARCHDEVICEOBJS)
   CLIENTLIBSRCS = $(CLIENTLIBNAME).c $(ARCHCLIENTSRCS)
   CLIENTLIBOBJS = $(CLIENTLIBNAME).o $(ARCHCLIENTOBJS)

        INCLUDES = -I./ -I$(BUILDINCDIR) $(ARCHINCLUDES)
         DEFINES = -D$(MAS_ENDIANNESS) $(ARCHDEFS)

    REQUIREDLIBS = -lm -L $(BUILDLIBDIR) -lmasc $(ARCHREQUIREDLIBS)

            SRCS =  $(DEVICESRCS) $(CLIENTLIBSRCS)

         HEADERS = mas_anx.h

#include <Library.tmpl>
LibraryObjectRule()


#if DoNormalLib
NormalLibraryTarget($(DEVICENAME),$(DEVICEOBJS))
InstallLibrary($(DEVICENAME),$(DEVICEDIR))
#endif

#if DoDebugLib
DebuggedLibraryTarget($(DEVICENAME),$(DEVICEOBJS))
InstallLibrary($(DEVICENAME)_d,$(DEVICEDIR))
#endif

#if DoProfileLib
ProfiledLibraryTarget($(DEVICENAME),$(DEVICEOBJS))
InstallLibrary($(DEVICENAME)_p,$(DEVICEDIR))
#endif

#if DoSharedLib && !DoNormalLib
SharedLibraryTarget($(DEVICENAME),1.0,$(DEVICEOBJS),.,.)
InstallSharedLibrary($(DEVICENAME),1.0,$(DEVICEDIR))
#endif

# Add a target for the client-side interface library

AllTarget($(PREFIX).o)

BuildIncludes($(HEADERS),IncSubdir,..)
InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))

DependTarget()

#endif /* not various architectures */
