TARGET = AudioDemo
DIRS = .
ADDIRS = audio resources
LIBS = 

CPP_SRC = $(foreach DIR, $(DIRS), $(wildcard $(DIR)/*.cpp))
VCL_SRC = $(foreach DIR, $(DIRS), $(wildcard $(DIR)/*.vcl))
OBJS = $(CPP_SRC:.cpp=.o)$(VCL_SRC:.vcl=.o)

CFLAGS = -Wall -fno-common -ffast-math $(INCDIRS)
	
$(TARGET): $(OBJS)
	gcc -o $(TARGET) $(OBJS) $(LIBS)
	strip $(TARGET)

%.o: %.c
	makedepend -- $(CFLAGS) -- $*.c -f- > $(*D)/.$(*F).depend
	gcc $(CFLAGS) -c $*.c -o $*.o

%.o: %.cpp
	makedepend -- $(CFLAGS) -- $*.cpp -f- > $(*D)/.$(*F).depend
	gcc $(CFLAGS) -c $*.cpp -o $*.o
	
%.o: %.vcl ./bin2as/bin2as
	makedepend -- $(CFLAGS) -- $*.vcl -f- > $(*D)/.$(*F).depend
	./vcl -o$*.vsm -g $*.vcl
	ee-dvp-as -o $*.t2_ $*.vsm
	objcopy -Obinary $*.t2_ $*.t1_
	./bin2as/bin2as $(*F)_vu $*.t1_ > $*.t2_
	as -KPIC -o $*.o $*.t2_
	rm $*.t1_ $*.t2_

./bin2as/bin2as: ./bin2as/bin2as.cpp
	gcc -o ./bin2as/bin2as ./bin2as/bin2as.cpp
	strip ./bin2as/bin2as

clean:
	rm -f $(TARGET)
	rm -f $(foreach DIR, $(DIRS), $(DIR)/*.o)
	rm -f $(foreach DIR, $(DIRS), $(DIR)/.*.depend)

DEPENDENCIES = $(foreach DIR, $(DIRS), $(wildcard $(DIR)/.*.depend))
ifneq ($(strip $(DEPENDENCIES)),)
	include $(DEPENDENCIES)
endif

# DO NOT DELETE
