ssm
Version:
Inference for State Space Model (SSM)
55 lines (37 loc) • 1.35 kB
Plain Text
CC=gcc #clang -ferror-limit=2
CFLAGS=-std=gnu99 -O3 -DGSL_RANGE_CHECK_OFF -I $(HOME)/.ssm/include
LDFLAGS=-lssm -lssmtpl -lssm -lssmtpl -lm -lgsl -lgslcblas -ljansson -lzmq -lpthread
LIB=libssmtpl.a
SRC= $(wildcard *.c)
OBJ= $(SRC:.c=.o)
EXEC=simul simplex smc mif pmcmc kalman ksimplex kmcmc worker
all: $(LIB)
install: $(EXEC)
mv $(EXEC) ../../
$(LIB): $(OBJ)
ar -rcs $@ $(OBJ)
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
simul: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmsimul $(LDFLAGS)
simplex: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmsimplex $(LDFLAGS)
smc: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmsmc $(LDFLAGS)
mif: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmmif $(LDFLAGS)
pmcmc: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmpmcmc $(LDFLAGS)
kalman: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmkalman $(LDFLAGS)
ksimplex: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmksimplex $(LDFLAGS)
kmcmc: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmkmcmc $(LDFLAGS)
worker: libssmtpl.a
$(CC) $(CFLAGS) -L. -L$(HOME)/.ssm/lib -o $@ -lssmworker $(LDFLAGS)
clean:
rm *.o $(LIB)
uninstall: clean
rm ../../{simul,simplex,smc,mif,pmcmc,kalman,ksimplex,kmcmc,worker}