#
# Master Makefile for building the current MAEstro source,
# including the MAEstro messaging system library, utility
# modules, and application programs.
#

SourceDir		= /home/sioux/MAEstro/Source
DestDir			= /home/sioux/MAEstro/Applications

#
# Applications can be installed either stripped or not.  If you strip the
# application binaries, they will take up much less space but will lack
# debugging information useful in reporting errors.
#
# If you do not want to strip the binaries, define InstallFlags as follows:
#InstallFlags		=
#
# To strip the binaries, leave the following line alone:
InstallFlags		= -s


#
# Location of the Sun audio libraries and header files.
# This is "/usr/demo/SOUND" on a default Sun installation.
#

AudioLibDir		= /usr/demo/SOUND

#
# If you are using PAL video devices (instead of, say, NTSC),
# define the "FrameRate" variable below as "$(PALFrameRate)".
#

NTSCFrameRate = 30
PALFrameRate = 25

FrameRate = $(NTSCFrameRate)

#
# If you have the XVideo board sold by Parallax Graphics,
# you should be able to build the "VideoFrame" application.
# To do so, use the first definition of "VideoFrameApp" below.
# If you do not have the XVideo board, then VideoFrame will not build
# (the XVideo board comes with C libraries to control it); in this
# case, use the second definition of "VideoFrameApp" (in effect, defining
# "VideoFrameApp" as nothing).
#

#VideoFrameApp = VideoFrame
VideoFrameApp = 


#
# Do Not Change Anything Below This Line
#

CC = gcc

GetOptSourceDir		= $(SourceDir)/GetOpt
BrowseSourceDir		= $(SourceDir)/Browse
NetworkSourceDir	= $(SourceDir)/NetworkProtocol

SubDirs			= GetOpt Browse NetworkProtocol VideoObject \
			  VideoEdit vcrEdit vcrDub \
			  cdEdit DTR QuoteMaker ShellEdit DisplayTool \
			  TimeLine PortManager $(VideoFrameApp)


all:	 
	@for i in $(SubDirs) ; \
	do \
	(cd $$i; echo "Building" "$$i..."; \
	make CC='$(CC)' SourceDir='$(SourceDir)' AudioLibDir='$(AudioLibDir)' FrameRate='$(FrameRate)'); \
	done
	@echo "***** Build of MAEstro is complete. *****"

install:	 
	@for i in $(SubDirs) ; \
	do \
	(cd $$i; echo "Installing" "$$i..."; \
	make -s InstallFlags='$(InstallFlags)' DestDir='$(DestDir)' SourceDir='$(SourceDir)' install); \
	done
	@install -d /tmp/MAEstro
	@install ../Demos/Greeting/* /tmp/MAEstro
	@echo "Launching the Port Manager application..."
	@$(DestDir)/PortManager &
	@echo "***** Installation of MAEstro applications is complete. *****"

clean:
	@for i in $(SubDirs) ; \
	do \
	(cd $$i; echo "Cleaning" "$$i..."; \
	make -s clean); \
	done
