OBJS = DrawingTidbits.o \
       MediaSlider.o \
       MediaBar.o \
       MediaView.o \
       PictureView.o \
       TransportButton.o \
       VolumeButton.o \
       AudioOutput.o \
       VideoOutput.o \
       draw_window.o \
       colorspaces.o \
       settings.o \
       PopupMenu.o \
       BMTrack.o  \
       DrawBitmapRenderer.o \
       OverlayRenderer.o \
       DoubleBufferOverlayRenderer.o \
       MagicOverlayRenderer.o \
       DoubleBufferRenderer.o \
       DirectWindowRenderer.o \
       SystemTime.o \
       TimeSource.o \
       TrackPlayer.o \
       MediaTrack.o \
       VideoRenderer.o \
       main.o

SUFFIXES = .cpp .o

LD=gcc

.cpp.o:
	$(CC) -c $(CFLAGS) $<

all: nplay

#INCLUDES := -I.
INCLUDES := 

ifeq ($(BE_HOST_CPU), ppc)
    OPTIMIZER = -O4
    LFLAGS = 
	XMAP = -map MediaPlayer.xMAP
else
ifeq ($(OPTIMIZER), -g)
    OPTIMIZER = -g -no-fpic
else
    OPTIMIZER = -O3 -no-fpic
#    OPTIMIZER = -g -no-fpic
endif
    LFLAGS = -lbe -lmedia -ltracker -lgame
	XMAP =
endif

CFLAGS += $(OPTIMIZER) $(INCLUDES)

nplay : $(OBJS)
	$(LD) $(XMAP) $(OPTIMIZER) -o nplay $(OBJS) $(LFLAGS)
	xres -o $@ MediaPlayer.rsrc
	mimeset $@

ppc:
	make CPU=ppc

DrawingTidbits.o : DrawingTidbits.cpp
	$(CC) -c $(CFLAGS) $<
MediaSlider.o : MediaSlider.cpp
	$(CC) -c $(CFLAGS) $<
MediaBar.o : MediaBar.cpp
	$(CC) -c $(CFLAGS) $<
MediaView.o : MediaView.cpp
	$(CC) -c $(CFLAGS) $<
PictureView.o : PictureView.cpp
	$(CC) -c $(CFLAGS) $<
AudioOutput.o : AudioOutput.cpp
	$(CC) -c $(CFLAGS) $<
TransportButton.o : TransportButton.cpp	
	$(CC) -c $(CFLAGS) $<
draw_window.o : draw_window.cpp
	$(CC) -c $(CFLAGS) $<
colorspaces.o : colorspaces.cpp
	$(CC) -c $(CFLAGS) $<
settings.o : settings.cpp
	$(CC) -c $(CFLAGS) $<
BMTrack.o : BMTrack.cpp
	$(CC) -c $(CFLAGS) $<
main.o : main.cpp
	$(CC) -c $(CFLAGS) $<

debug:
	OPTIMIZER=-g make all

clean:
	rm -f *.o nplay *.xSYM *.xMAP

