PLT_FILES := $(wildcard *.plt)
TARGETS   := $(PLT_FILES:%.plt=%.tex)

%.tex: %.plt
	gnuplot < $<

all: 1 1a 1c run $(TARGETS)

IDIR =../include
CC=cc
GCC=gcc
CFLAGS=-I$(IDIR)

ODIR=~/astro/Shipley_HW1
LDIR =../lib

LIBS=-lm

_DEPS = ES_HW1.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))

_OBJ1 = problem1.o
OBJ1 = $(patsubst %,$(ODIR)/%,$(_OBJ1))
1: $(OBJ1)
	$(CC) -o $@ $^ $(CFLAGS) $(LIBS)

_OBJ2 = problem1a.o
OBJ2 = $(patsubst %,$(ODIR)/%,$(_OBJ2))
1a: $(OBJ2)
	$(CC) -o $@ $^ $(CFLAGS) $(LIBS)

1c: $(OBJ2)
	$(GCC) -O2 -o 1c $^ $(CFLAGS) $(LIBS)

$(ODIR)/%.o: %.c $(DEPS)
	$(CC) -c -o $@ $< $(CFLAGS)

.PHONY: clean

clean:
	rm -f *.o *~ core $(INCDIR)/*~
	rm -f 1 1a 1c 1b.png 1c.png data1a.csv data1c.csv ES_HW1.ps ES_HW1.pdf

define NEWLINE

endef

run: 1 1a 1c
	./1
	./1a
	cp data1c.csv data1a.csv
	./1c
	printf "\n See 1b.png and 1c.png or ES_HW1.pdf for plots of unoptimized and optimized run times \n\n"