ignore local files (projects, R history...)
[valse.git] / src / test / Makefile
index c4931ad..26d9bc6 100644 (file)
@@ -1,37 +1,41 @@
 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