TARGET=mathray
GUILIB=libraygui.so.1
CXXFLAGS=-O2 -Wall -DLINUX -I./ -I./raytracing -I./console
LOADLIBES=-ldl -rdynamic

all: $(TARGET) $(GUILIB)

$(TARGET): main.o guifunc.o console/console.a raytracing/raytracing.a
	$(LINK.cpp) $+ -o $@ $(LOADLIBES)

run: $(TARGET) $(GUILIB)
	./$(TARGET)

# clean target
.PHONY: clean
clean:
	make $@ -C raytracing
	make $@ -C console
	make $@ -C gui
	rm -f *.o
	rm -f *.d
	rm -f *~
	rm -f $(GUILIB)
	rm -f $(TARGET)


# Subdirectories static librairies
.PHONY: raytracing/raytracing.a
raytracing/raytracing.a:
	make raytracing.a -C raytracing

.PHONY: console/console.a
console/console.a:
	make console.a -C console


# GUI dynamic library
.PHONY: $(GUILIB)
$(GUILIB):
	make $@ -C gui
	mv gui/$@ .
