include ../global_config
CFLAGS += 
export CFLAGS

$(shell sh -c 'if ! test -d $(OBJDIR)\; then mkdir $(OBJDIR)\; fi' )

OBJS = \
	$(OBJDIR)/bcbitmap.o \
	$(OBJDIR)/bcbutton.o \
	$(OBJDIR)/bccapture.o \
	$(OBJDIR)/bcclipboard.o \
	$(OBJDIR)/bcdisplayinfo.o \
	$(OBJDIR)/bcdragwindow.o \
	$(OBJDIR)/bcfilebox.o \
	$(OBJDIR)/bcipc.o \
	$(OBJDIR)/bclistbox.o \
	$(OBJDIR)/bcmenubar.o \
	$(OBJDIR)/bcmeter.o \
	$(OBJDIR)/bcpan.o \
	$(OBJDIR)/bcpixmap.o \
	$(OBJDIR)/bcpopup.o \
	$(OBJDIR)/bcpopupmenu.o \
	$(OBJDIR)/bcpot.o \
	$(OBJDIR)/bcprogress.o \
	$(OBJDIR)/bcprogressbox.o \
	$(OBJDIR)/bcrepeater.o \
	$(OBJDIR)/bcresources.o \
	$(OBJDIR)/bcscrollbar.o \
	$(OBJDIR)/bcsignals.o \
	$(OBJDIR)/bcslider.o \
	$(OBJDIR)/bcsubwindow.o \
	$(OBJDIR)/bctextbox.o \
	$(OBJDIR)/bctitle.o \
	$(OBJDIR)/bctoggle.o \
	$(OBJDIR)/bctumble.o \
	$(OBJDIR)/bcwindow.o \
	$(OBJDIR)/bcwindowbase.o \
	$(OBJDIR)/bcwindowdraw.o \
	$(OBJDIR)/errorbox.o \
	$(OBJDIR)/defaults.o \
	$(OBJDIR)/filesystem.o \
	$(OBJDIR)/mutex.o \
	$(OBJDIR)/rotateframe.o \
	$(OBJDIR)/sema.o \
	$(OBJDIR)/stringfile.o \
	$(OBJDIR)/thread.o \
	$(OBJDIR)/testobject.o \
	$(OBJDIR)/timer.o \
	$(OBJDIR)/units.o \
	$(OBJDIR)/vframe.o \
	$(OBJDIR)/workarounds.o

OUTPUT = $(OBJDIR)/libguicast.so
STATICOUTPUT = $(OBJDIR)/libguicast.a

# PTHREAD DOESN'T WORK WHEN LINKED HERE
all: $(OBJS)
	ar rcs $(STATICOUTPUT) $(OBJS) $(CXXREPOSITORY)
	$(LDLINKER) $(LFLAGS) -o $(OUTPUT) $(OBJS) $(CXXREPOSITORY)

replace:  replace.o $(STATICOUTPUT)
	$(CC) -o replace replace.o $(STATICOUTPUT) ../quicktime/i686/libquicktime.a $(LFLAGS) $(XLIBS) -lpng

test:	$(OBJDIR)/test.o $(STATICOUTPUT)
	$(CC) -o $(OBJDIR)/test $(OBJDIR)/test.o \
	$(STATICOUTPUT) ../quicktime/$(OBJDIR)/libquicktime.a \
	$(LFLAGS) $(XLIBS) -lpng

clean:
	rm -rf $(OBJDIR)

wc:
	cat *.C *.h | wc

backup: clean
	cd .. && \
	tar Icvf ~/guicast.tar.bz2 guicast

$(OBJS) $(OBJDIR)/test.o $(OBJDIR)/replace.o:
	$(CC) -c `./c_flags` $(subst $(OBJDIR)/,, $*.C) -o $*.o

$(OBJDIR)/bcbitmap.o: 	   				      bcbitmap.C
$(OBJDIR)/bcbutton.o: 	   				      bcbutton.C
$(OBJDIR)/bccapture.o:     				      bccapture.C
$(OBJDIR)/bcclipboard.o:   				      bcclipboard.C
$(OBJDIR)/bcdisplayinfo.o: 				      bcdisplayinfo.C
$(OBJDIR)/bcdragwindow.o:  				      bcdragwindow.C
$(OBJDIR)/bcfilebox.o:     				      bcfilebox.C
$(OBJDIR)/bcipc.o: 	   				      bcipc.C
$(OBJDIR)/bclistbox.o:     				      bclistbox.C
$(OBJDIR)/bcmenubar.o:     				      bcmenubar.C
$(OBJDIR)/bcmeter.o: 	   				      bcmeter.C
$(OBJDIR)/bcpan.o: 	   				      bcpan.C
$(OBJDIR)/bcpixmap.o: 	   				      bcpixmap.C
$(OBJDIR)/bcpopup.o: 	   				      bcpopup.C
$(OBJDIR)/bcpopupmenu.o:   				      bcpopupmenu.C
$(OBJDIR)/bcpot.o: 	   				      bcpot.C
$(OBJDIR)/bcprogress.o:    				      bcprogress.C
$(OBJDIR)/bcprogressbox.o: 				      bcprogressbox.C
$(OBJDIR)/bcrepeater.o:    				      bcrepeater.C
$(OBJDIR)/bcresources.o:   				      bcresources.C
$(OBJDIR)/bcscrollbar.o:   				      bcscrollbar.C
$(OBJDIR)/bcsignals.o:     				      bcsignals.C
$(OBJDIR)/bcslider.o: 	   				      bcslider.C
$(OBJDIR)/bcsubwindow.o:   				      bcsubwindow.C
$(OBJDIR)/bctextbox.o:     				      bctextbox.C
$(OBJDIR)/bctitle.o: 	   				      bctitle.C
$(OBJDIR)/bctoggle.o: 	   				      bctoggle.C
$(OBJDIR)/bctumble.o: 	   				      bctumble.C
$(OBJDIR)/bcwindow.o: 	   				      bcwindow.C
$(OBJDIR)/bcwindowbase.o:  				      bcwindowbase.C
$(OBJDIR)/bcwindowdraw.o:  				      bcwindowdraw.C
$(OBJDIR)/errorbox.o: 	   				      errorbox.C
$(OBJDIR)/defaults.o: 	   				      defaults.C
$(OBJDIR)/filesystem.o:    				      filesystem.C
$(OBJDIR)/mutex.o: 	   				      mutex.C
$(OBJDIR)/rotateframe.o:                                      rotateframe.C
$(OBJDIR)/sema.o: 	   				      sema.C
$(OBJDIR)/stringfile.o:    				      stringfile.C
$(OBJDIR)/test.o: 	   				      test.C
$(OBJDIR)/testobject.o:                                       testobject.C
$(OBJDIR)/thread.o: 	   				      thread.C
$(OBJDIR)/timer.o: 	   				      timer.C
$(OBJDIR)/units.o: 	   				      units.C
$(OBJDIR)/vframe.o: 	   				      vframe.C
$(OBJDIR)/workarounds.o:   				      workarounds.C
