CXX      = g++
CXXFLAGS = -Wall -O2

TARGETS = print_grid2D grid2off test_grid2DIO subdivide_grid

all: $(TARGETS)

print_grid2D: print_grid2D.cpp grid2DIO.o
	$(CXX) $(CXXFLAGS) -o $@ $^

grid2off: grid2off.cpp grid2DIO.o writeGrid2DOFF.o
	$(CXX) $(CXXFLAGS) -o $@ $^

test_grid2DIO: test_grid2DIO.cpp grid2DIO.o
	$(CXX) $(CXXFLAGS) -o $@ $^

subdivide_grid: subdivide_grid.cpp grid2DIO.o writeGrid2DOFF.o
	$(CXX) $(CXXFLAGS) -o $@ $^

grid2DIO.o: grid2DIO.cpp grid2DIO.h grid2DPoints3D.h
	$(CXX) $(CXXFLAGS) -c -o $@ $<

writeGrid2DOFF.o: writeGrid2DOFF.cpp writeGrid2DOFF.h grid2DPoints3D.h
	$(CXX) $(CXXFLAGS) -c -o $@ $<

clean:
	rm -f *.o $(TARGETS)

.PHONY: all clean
