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


#
# Compiler definitions and flags
CC = cc
C++ = c++
LINK = c++
AR = ar

DEFINES = -D__MacOSX__ -DQTFILE_MEMORY_DEBUGGING=0
CCFLAGS = -g -ansi -Wall -Wno-four-char-constants
C++FLAGS = $(CCFLAGS)


#
# Build rules
.SUFFIXES: .cpp .o

.cpp.o:
	$(C++) -c $(DEFINES) $(C++FLAGS) $*.cpp


#
# Common sources.
COMMON_OBJS		=	QTFile.o \
					QTTrack.o QTHintTrack.o \
					QTAtom.o QTAtom_dref.o QTAtom_elst.o \
					QTAtom_hinf.o QTAtom_mdhd.o QTAtom_mvhd.o \
					QTAtom_stco.o QTAtom_stsc.o QTAtom_stsd.o \
					QTAtom_stss.o QTAtom_stsz.o QTAtom_stts.o \
					QTAtom_tkhd.o QTAtom_tref.o

#
# QTRTPFile library sources.
QTRTPFILE_OBJS	=	QTRTPFile.o

#
# Test tool sources.
TEST_COMMON_OBJS=	dummy_new_delete.o OSMutex.o mymutex.o libatomic.a
QTFILEINFO_OBJS	=	QTFileInfo.o
QTFILETEST_OBJS	=	QTFileTest.o
QTRTPFILETEST_OBJS= QTRTPFileTest.o libQTRTPFile.a
QTRTPGEN_OBJS	=	QTRTPGen.o
QTSAMPLELISTER_OBJS=QTSampleLister.o
QTSDPGEN_OBJS	=	QTSDPGen.o libQTRTPFile.a
QTTRACKINFO_OBJS=	QTTrackInfo.o


#
# Our targets
all:				libQTRTPFile.a QTFileInfo QTFileTest QTRTPFileTest QTRTPGen QTSampleLister QTSDPGen QTTrackInfo

libQTRTPFile.a: $(COMMON_OBJS) $(QTRTPFILE_OBJS)
	$(AR) ru $@ $(COMMON_OBJS) $(QTRTPFILE_OBJS)
	ranlib $@

QTFileInfo: $(COMMON_OBJS) $(QTFILEINFO_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTFILEINFO_OBJS) $(TEST_COMMON_OBJS)
QTFileTest: $(COMMON_OBJS) $(QTFILETEST_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTFILETEST_OBJS) $(TEST_COMMON_OBJS)
QTRTPFileTest: $(COMMON_OBJS) $(QTRTPFILETEST_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTRTPFILETEST_OBJS) $(TEST_COMMON_OBJS)
QTRTPGen: $(COMMON_OBJS) $(QTRTPGEN_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTRTPGEN_OBJS) $(TEST_COMMON_OBJS)
QTSampleLister: $(COMMON_OBJS) $(QTSAMPLELISTER_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTSAMPLELISTER_OBJS) $(TEST_COMMON_OBJS)
QTSDPGen: $(COMMON_OBJS) $(QTSDPGEN_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTSDPGEN_OBJS) $(TEST_COMMON_OBJS)
QTTrackInfo: $(COMMON_OBJS) $(QTTRACKINFO_OBJS) $(TEST_COMMON_OBJS)
	$(LINK) -o $@ $(COMMON_OBJS) $(QTTRACKINFO_OBJS) $(TEST_COMMON_OBJS)

clean:
	rm -f *.o libQTRTPFile.a QTFileInfo QTFileTest QTRTPFileTest QTRTPGen QTSampleLister QTSDPGen QTTrackInfo


#
# Objects

OSFileSource.o: OSHeaders.h OSFileSource.h
QTFile_FileControlBlock.o: QTFile_FileControlBlock.h OSHeaders.h OSFileSource.h
QTAtom.o: QTAtom.cpp QTFile.h OSHeaders.h QTAtom.h
QTAtom_dref.o: QTAtom_dref.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_dref.h
QTAtom_elst.o: QTAtom_elst.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_elst.h
QTAtom_hinf.o: QTAtom_hinf.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_hinf.h
QTAtom_mdhd.o: QTAtom_mdhd.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_mdhd.h
QTAtom_mvhd.o: QTAtom_mvhd.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_mvhd.h
QTAtom_stco.o: QTAtom_stco.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stco.h
QTAtom_stsc.o: QTAtom_stsc.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stsc.h
QTAtom_stsd.o: QTAtom_stsd.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stsd.h
QTAtom_stss.o: QTAtom_stss.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stss.h
QTAtom_stsz.o: QTAtom_stsz.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stsz.h
QTAtom_stts.o: QTAtom_stts.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_stts.h
QTAtom_tkhd.o: QTAtom_tkhd.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_tkhd.h
QTAtom_tref.o: QTAtom_tref.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_tref.h
QTFile.o: QTFile.cpp OSMutex.h QTFile.h OSHeaders.h QTAtom.h QTAtom_mvhd.h \
  QTAtom_tkhd.h QTTrack.h QTAtom_dref.h QTAtom_elst.h QTAtom_mdhd.h \
  QTAtom_stco.h QTAtom_stsc.h QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h \
  QTAtom_stts.h QTHintTrack.h QTAtom_hinf.h QTAtom_tref.h QTFile_FileControlBlock.h
QTFileInfo.o: QTFileInfo.cpp QTFile.h OSHeaders.h QTTrack.h QTAtom_dref.h \
  QTAtom.h QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h QTAtom_stco.h \
  QTAtom_stsc.h QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h QTAtom_stts.h \
  QTHintTrack.h QTAtom_hinf.h QTAtom_tref.h
QTFileTest.o: QTFileTest.cpp QTFile.h OSHeaders.h
QTHintTrack.o: QTHintTrack.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_hinf.h \
  QTAtom_tref.h QTHintTrack.h QTTrack.h QTAtom_dref.h QTAtom_elst.h \
  QTAtom_mdhd.h QTAtom_tkhd.h QTAtom_stco.h QTAtom_stsc.h QTAtom_stsd.h \
  QTAtom_stss.h QTAtom_stsz.h QTAtom_stts.h
OSMutex.o: OSMutex.cpp OSMutex.h
mymutex.o: mymutex.c mymutex.h
QTRTPFile.o: QTRTPFile.cpp OSMutex.h QTFile.h OSHeaders.h QTTrack.h \
  QTAtom_dref.h QTAtom.h QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h \
  QTAtom_stco.h QTAtom_stsc.h QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h \
  QTAtom_stts.h QTHintTrack.h QTAtom_hinf.h QTAtom_tref.h QTRTPFile.h
QTRTPFileTest.o: QTRTPFileTest.cpp QTRTPFile.h OSHeaders.h
QTRTPGen.o: QTRTPGen.cpp QTFile.h OSHeaders.h QTTrack.h QTAtom_dref.h QTAtom.h \
  QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h QTAtom_stco.h QTAtom_stsc.h \
  QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h QTAtom_stts.h QTHintTrack.h \
  QTAtom_hinf.h QTAtom_tref.h
QTSDPGen.o: QTSDPGen.cpp QTRTPFile.h OSHeaders.h
QTSampleLister.o: QTSampleLister.cpp QTFile.h OSHeaders.h QTTrack.h \
  QTAtom_dref.h QTAtom.h QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h \
  QTAtom_stco.h QTAtom_stsc.h QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h \
  QTAtom_stts.h
QTTrack.o: QTTrack.cpp QTFile.h OSHeaders.h QTAtom.h QTAtom_dref.h \
  QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h QTAtom_stco.h QTAtom_stsc.h \
  QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h QTAtom_stts.h QTTrack.h
QTTrackInfo.o: QTTrackInfo.cpp QTFile.h OSHeaders.h QTTrack.h QTAtom_dref.h \
  QTAtom.h QTAtom_elst.h QTAtom_mdhd.h QTAtom_tkhd.h QTAtom_stco.h \
  QTAtom_stsc.h QTAtom_stsd.h QTAtom_stss.h QTAtom_stsz.h QTAtom_stts.h \
  QTHintTrack.h QTAtom_hinf.h QTAtom_tref.h
dummy_new_delete.o: dummy_new_delete.cpp OSHeaders.h
