IDIR = include
ODIR = obj
BDIR = bin
SDIR = src
CC = g++
CFLAGS_R = -I$(IDIR) 
CFLAGS_C = -I$(IDIR)  

all:$(BDIR)/wave_lax $(BDIR)/wave_leapfrog $(BDIR)/wave_wendroff $(BDIR)/Schrodinger $(BDIR)/wave_2D

$(BDIR)/wave_lax: $(ODIR)/wave_lax.o
	$(CC) -o $@  $< $(CFLAGS_R)

$(BDIR)/wave_leapfrog: $(ODIR)/wave_leapfrog.o
	$(CC) -o $@  $< $(CFLAGS_R)

$(BDIR)/wave_wendroff: $(ODIR)/wave_wendroff.o
	$(CC) -o $@  $< $(CFLAGS_R)

$(BDIR)/Schrodinger: $(ODIR)/Schrodinger.o $(ODIR)/tridiag.o
	$(CC) -o $@  $^ $(CFLAGS_R)

$(BDIR)/wave_2D: $(ODIR)/wave_2D.o $(ODIR)/tridiag.o
	$(CC) -o $@  $^ $(CFLAGS_R)

$(ODIR)/%.o: $(SDIR)/%.C 
	$(CC) -o $@ -c $< $(CFLAGS_C)

.PHONY: clean

clean: 
	rm $(BDIR)/* $(ODIR)/*
