# Copyright (c) 1999 Apple Computer, Inc.  All rights reserved.
# $Id: Jamfile,v 1.10 1999/06/02 08:41:47 serenyi Exp $


#
# Compiler definitions and flags
switch $(OS) {
case FREEBSD :
	CCFLAGS += -g -ansi -Wall ;
	C++FLAGS = $(CCFLAGS) ;
case RHAPSODY :
	CC = cc ;
	C++ = c++ ;
	LINK = c++ ;

	OPTIM = -O0 ;
	CCFLAGS += -D__MacOSX__ -g -ansi -Wall -Wno-four-char-constants ;
	C++FLAGS = -DQTFILE_MEMORY_DEBUGGING=1 $(CCFLAGS) ;
case SOLARIS :
	CC = cc ;
	C++ = CC ;
	LINK = CC ;

	CCFLAGS += -v ;
	C++FLAGS = +w +w2 ;
}


#
# Common sources.
COMMON_SRCS		=	QTFile.cpp QTFile_FileControlBlock.cpp OSFileSource.cpp
					QTTrack.cpp QTHintTrack.cpp
					QTAtom.cpp QTAtom_dref.cpp QTAtom_elst.cpp
					QTAtom_hinf.cpp QTAtom_mdhd.cpp QTAtom_mvhd.cpp
					QTAtom_stco.cpp QTAtom_stsc.cpp QTAtom_stsd.cpp
					QTAtom_stss.cpp QTAtom_stsz.cpp QTAtom_stts.cpp
					QTAtom_tkhd.cpp QTAtom_tref.cpp ;

#
# QTRTPFile library sources.
QTRTPFILE_SRCS	=	QTRTPFile.cpp ;

#
# Test tool sources.
TEST_COMMON_SRCS =	OSMutex.cpp dummy_new_delete.cpp mymutex.c ;
QTBROADCASTER_SRCS = QTBroadcaster.cpp ;
QTFILEINFO_SRCS	=	QTFileInfo.cpp ;
QTFILETEST_SRCS	=	QTFileTest.cpp ;
QTRTPFILETEST_SRCS = QTRTPFileTest.cpp ;
QTRTPGEN_SRCS	=	QTRTPGen.cpp ;
QTSAMPLELISTER_SRCS = QTSampleLister.cpp ;
QTSDPGEN_SRCS	=	QTSDPGen.cpp ;
QTTRACKINFO_SRCS =	QTTrackInfo.cpp ;


#
# Build all of the objects
Objects $(COMMON_SRCS)
		$(QTRTPFILE_SRCS)
		$(TEST_COMMON_SRCS) $(QTBROADCASTER_SRCS) $(QTFILEINFO_SRCS)
		$(QTFILETEST_SRCS) $(QTRTPFILETEST_SRCS) $(QTRTPGEN_SRCS)
		$(QTSAMPLELISTER_SRCS) $(QTSDPGEN_SRCS) $(QTTRACKINFO_SRCS) ;


#
# Build the QTRTPFile library
NOARSCAN = true ;
LibraryFromObjects libQTRTPFile : $(QTRTPFILE_SRCS:S=.o) $(COMMON_SRCS:S=.o) ;


#
# Build all of the tools
LinkLibraries QTBroadcaster   : libQTRTPFile libatomic ;
MainFromObjects QTBroadcaster :	$(QTBROADCASTER_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTFileTest   	: 	libatomic ;
MainFromObjects QTFileTest	:	$(QTFILETEST_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTFileInfo   	: 	libatomic ;
MainFromObjects QTFileInfo	:	$(QTFILEINFO_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTRTPFileTest   : libQTRTPFile libatomic ;
MainFromObjects QTRTPFileTest :	$(QTRTPFILETEST_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTRTPGen   	: 	libatomic ;
MainFromObjects QTRTPGen	:	$(QTRTPGEN_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTSampleLister   : libatomic ;
MainFromObjects QTSampleLister : $(QTSAMPLELISTER_SRCS:S=.o)
								 $(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTSDPGen		:	libQTRTPFile libatomic ;
MainFromObjects QTSDPGen	:	$(QTSDPGEN_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;

LinkLibraries QTTrackInfo   : 	libatomic ;
MainFromObjects QTTrackInfo :	$(QTTRACKINFO_SRCS:S=.o)
								$(COMMON_SRCS:S=.o) $(TEST_COMMON_SRCS:S=.o) ;
