analistica/makefile

47 lines
1.1 KiB
Makefile

GMP_FLAGS = -L$(GMP_PATH) -lgmp
GSL_FLAGS = $(shell pkg-config --libs gsl)
CFLAGS := -Wall --debug $(GMP_FLAGS) $(GSL_FLAGS)
CCOMPILE = \
mkdir -p $(@D); \
$(CC) $(CFLAGS) $^ -o $@
all: ex-1 ex-2 ex-3 ex-4 ex-5 ex-6 ex-7
ex-1: ex-1/bin/main ex-1/bin/pdf
ex-1/bin/main: ex-1/main.c ex-1/landau.c ex-1/tests.c ex-1/bootstrap.c ex-1/moyal.c
$(CCOMPILE)
ex-1/bin/pdf: ex-1/pdf.c
$(CCOMPILE)
ex-2: ex-2/bin/fancy ex-2/bin/fancier ex-2/bin/fast ex-2/bin/limit ex-2/bin/naive ex-2/bin/recip
ex-2/bin/%: ex-2/%.c
$(CCOMPILE)
ex-3: ex-3/bin/main
ex-3/bin/main: ex-3/main.c ex-3/common.c ex-3/likelihood.c ex-3/chisquared.c
$(CCOMPILE)
ex-4: ex-4/bin/main
ex-4/bin/main: ex-4/main.c ex-4/lib.c
$(CCOMPILE)
ex-5: ex-5/bin/main
ex-5/bin/%: ex-5/main.c ex-5/lib.c
$(CCOMPILE)
ex-6: ex-6/bin/main ex-6/bin/test
ex-6/bin/main: ex-6/main.c ex-6/common.c ex-6/rl.c ex-6/fft.c
$(CCOMPILE)
ex-6/bin/test: ex-6/test.c ex-6/common.c ex-6/rl.c ex-6/fft.c ex-6/dist.c
$(CCOMPILE)
ex-7: ex-7/bin/main ex-7/bin/test
ex-7/bin/main: ex-7/main.c ex-7/common.c ex-7/fisher.c ex-7/percep.c
$(CCOMPILE)
ex-7/bin/test: ex-7/test.c ex-7/common.c
$(CCOMPILE)
clean:
rm -rf ex-*/bin