CC = gcc
CFLAGS = -g -std=gnu99 -Wno-implicit-function-declaration
-LDFLAGS = -Lobj/ -lvalse_core
-LIB = valse_core.so
+LDFLAGS = -lm -lgsl -lcblas -lgomp
+TEST_LDFLAGS = -L. libvalse_core.so
+LIB = libvalse_core.so
LIB_SRC = $(wildcard ../sources/*.c)
LIB_OBJ = $(LIB_SRC:.c=.o)
+INCLUDES = -I../sources
+TESTS = test.EMGLLF test.EMGrank test.constructionModelesLassoMLE test.EMGrank\
+ test.constructionModelesLassoRank test.selectionTotale
-all: $(LIB) test.EMGLLF test.EMGrank test.constructionModelesLassoMLE test.EMGrank test.constructionModelesLassoRank test.selectionTotale
+all: $(LIB) $(TESTS)
$(LIB): $(LIB_OBJ)
- $(CC) -o $@ $^
+ $(CC) -shared -o $@ $^ $(LDFLAGS)
-test.EMGLLF: test.EMGLLF.o
- $(CC) -o $@ $^ $(LDFLAGS)
+test.EMGLLF: $(LIB) test.EMGLLF.o test_utils.o
+ $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
-test.constructionModelesLassoMLE: test.constructionModelesLassoMLE.o
- $(CC) -o $@ $^ $(LDFLAGS)
+test.EMGrank: $(LIB) test.EMGrank.o test_utils.o
+ $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
-test.EMGrank: test.EMGrank.o
- $(CC) -o $@ $^ $(LDFLAGS)
+test.constructionModelesLassoMLE: $(LIB) test.constructionModelesLassoMLE.o test_utils.o
+ $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
-test.constructionModelesLassoRank: test.constructionModelesLassoRank.o
- $(CC) -o $@ $^ $(LDFLAGS)
+test.constructionModelesLassoRank: $(LIB) test.constructionModelesLassoRank.o test_utils.o
+ $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
-test.selectionTotale: test.selectionTotale.o
- $(CC) -o $@ $^ $(LDFLAGS)
+test.selectionTotale: $(LIB) test.selectionTotale.o test_utils.o
+ $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
%.o: %.c
- $(CC) -o $@ -c $< $(CFLAGS)
+ $(CC) -fPIC -o $@ -c $< $(CFLAGS) $(INCLUDES)
clean:
- rm -f *.o ../sources/*.o
+ rm -f *.o ../sources/*.o ../adapters/*.o
cclean: clean
- rm -f $(LIB) $(TEST)
+ rm -f *.so $(TESTS)
.PHONY: all clean cclean