all: 2dconv

2dconv: 2dconv.cpp ppma_io.a
	gcc -O3 $^ -o $@ -lm -lrt

# modify as necessary
2dconv_threads: 2dconv_threads.cpp
	gcc -O3 $^ -o $@ -lm -lrt

# modify as necessary
2dconv_vec1: 2dconv_threads.cpp
	gcc -O3 -mavx2 $^ -o $@ -lm -lrt

# modify as necessary
2dconv_vec2: 2dconv_vec2.cpp
	gcc -O3 -mavx2 $^ -o $@ -lm -lrt


ppma_io.a: ppma_io.o 
	ar rs $@ $<

clean:
	rm -f ppma_io.a ppma_io.o 2dconv 2dconv_threads 2dconv_vec1 2dconv_vec2

