CC = gcc
PSLIB_CFLAGS = `pslib-config --cflags`
PSLIB_LDFLAGS = `pslib-config --libs`
PSMODULES_CFLAGS = `psmodules-config --cflags`
PSMODULES_LDFLAGS = `psmodules-config --libs`
CFLAGS = -g -std=gnu99 $(PSMODULES_CFLAGS) $(PSLIB_CFLAGS)
LDFLAGS = $(PSMODULES_LDFLAGS) $(PSLIB_LDFLAGS)

.PHONY: all clean run_orig run_shift

all: fake phot shift convolve significance

clean:
	-$(RM) *.o

.c.o:
	$(CC) -c $(CFLAGS) $<

fake: fake.o
phot: phot.o
shift: shift.o
convolve: convolve.o
significance: significance.o

run_orig: fake phot
	./fake
	psphot -file bright.fits -mask mask.fits -weight weight.fits bright
	-psphot -file faint.fits -mask mask.fits -weight weight.fits -psf bright.psf faint -trace psphot 6
	./phot

run_shift: fake shift phot
	./fake
	./shift
	psphot -file bright.shift.fits -mask mask.shift.fits -weight weight.shift.fits bright.shift
	-psphot -file faint.shift.fits -mask mask.shift.fits -weight weight.shift.fits -psf bright.shift.psf faint.shift -trace psphot 6
	./phot
