# MY_PORT is the unique port name which identifies this particular server
MY_PORT = \"sparcaudio\"

# SAMPLE_LIBRARY is the directory of the sample library which holds
# instrument samples, voices, etc.
SAMPLE_LIBRARY = \"$(SOUNDDIR)/Sample-Libraries\"

MYOBJS = InitMessageList.o\
	 SparcAudioHardware.o\
	 Oscil.o\
	 Samples.o\
	 WaveTable.o\
	 conversion.o\
	 HardwareServer.o\
	 Message.o\
	 MessageList.o\
	 SPARCSoundDevice.o 

include ../Makefile.defines
include ../Makefile.common

LIBS = -L/usr/demo/SOUND -laudio -lm

DEVICEDEFAULTS = SparcDeviceDefaults.config
DEVICEPARAMS = SparcDeviceParameters.tab
MESSAGECONFIG = SPARCMessageConfiguration.config
SERVERDEVICECLASS = SPARCSoundDevice

DEFINES = -DMY_PORT=$(MY_PORT)  -DSAMPLE_LIBRARY=$(SAMPLE_LIBRARY)\
          -DROOT=\"$(SOUNDLIBDIR)\"

DEPEND_OBJS = $(MYOBJS)

SRCDIRS = .:../../SPARCServer:$(COMMON_SUBDIRS)
vpath %.cc  $(SRCDIRS)
vpath %.c  $(SRCDIRS)
vpath %.h  .:../../Includes:/usr/demo/SOUND:$(SRCDIRS)
vpath %.o  ../CommonObjs

C++FLAGS = -O -I. -I../../Includes -I../../SPARCServer -I/usr/demo/SOUND $(DEFINES)
CFLAGS   = -O -I. -I../../Includes -I../.../SPARCServer -I/usr/demo/SOUND $(DEFINES)
C++ = g++
CC = gcc



default: makedepend sparcaudiod

sparcaudiod: $(OBJS)
	 $(C++) $(C++FLAGS) -o $@ $(OBJFILES) $(LIBS)

install:  sparcaudiod
	install -d $(SOUNDLIBDIR)
	install -s sparcaudiod $(SOUNDLIBDIR)
	install -d $(SOUNDLIBDIR)
	install -m 0644 $(DEVICEPARAMS) $(DEVICEDEFAULTS).tab $(MESSAGECONFIG) $(SOUNDLIBDIR)
	install -m 0644 SparcInstruments $(SOUNDLIBDIR)
	install -m 0644 SparcOutputs $(SOUNDLIBDIR)
	install -m 0644 Voices $(SOUNDLIBDIR)
	install -m 0644 SampleFileMenu $(SOUNDLIBDIR)
	@echo "**** NOTE!! You must install the sample library "
	@echo "**** ../../Sample-Libraries someplace with 15M free, and "
	@echo "**** make sure that " $(SAMPLE_LIBRARY) "is a link to it."


InitMessageList.cc: $(DEVICEPARAMS) $(DEVICEDEFAULTS) $(MESSAGECONFIG) 
	$(TOP)/ConfigureDeviceServer $(DEVICEPARAMS) $(DEVICEDEFAULTS) \
	$(MESSAGECONFIG) $(SERVERDEVICECLASS)

clean:
	rm -f *.o *.BAK *.CKP *~ core *.dep		
	rm -f sparcaudiod InitMessageList.cc
	
%.dep: %.cc
	$(C++) $(C++FLAGS) -M $< > $@

%.dep: %.c
	$(CC) $(CFLAGS) -M $< > $@

%.o: %.cc
	DEPENDENCIES_OUTPUT="$*.dep"; export DEPENDENCIES_OUTPUT; \
	$(C++) $(C++FLAGS) -c $<

%.i: %.cc force
	$(C++) $(C++FLAGS) -E $< | sed '/^[ 	]*$$/d' > $@

makedepend:  $(DEPEND_OBJS:.o=.dep)
	cat *.dep > Makefile.depend

include Makefile.depend

force:
