forked from 1chipML/1chipML
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
79 lines (58 loc) · 3.5 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
CC=gcc
TEST_FOLDER = tests
BUILD_FOLDER = $(TEST_FOLDER)/build
CFLAGS += -g # adds debugging information
CFLAGS += -Wall # turns on most compiler warnings
CFLAGS += -std=c99# C99
CFLAGS += -I./src # included header files
# loaded libraries
LDLIBS += -lm # Math library
all: linear_congruential_random_generator gauss_elimination poly_interpolation DFT FFT lanczos jacobi genetic gradient_descent fast_sincos monte_carlo lu_decomposition finite_difference stats
test: all run_all_tests
linear_congruential_random_generator: ./$(TEST_FOLDER)/test_linear_congruential_random_generator.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
genetic : ./$(TEST_FOLDER)/test_genetic.c ./src/genetic.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
gauss_elimination: ./$(TEST_FOLDER)/test_gauss_elimination.c ./src/gauss_elimination.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
poly_interpolation: ./$(TEST_FOLDER)/test_poly_interpolation.c ./src/poly_interpolation.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
jacobi: ./$(TEST_FOLDER)/test_jacobi.c ./src/jacobi.c ./src/matrix.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
FFT: ./$(TEST_FOLDER)/test_FFT.c ./src/FFT.c ./src/DFT.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
DFT: ./$(TEST_FOLDER)/test_DFT.c ./src/DFT.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
lanczos: ./$(TEST_FOLDER)/test_lanczos.c ./src/lanczos.c ./src/linear_congruential_random_generator.c ./src/matrix.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
gradient_descent: ./$(TEST_FOLDER)/test_gradient_descent.c ./src/gradient_descent.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
monte_carlo: ./$(TEST_FOLDER)/test_monte_carlo.c ./src/monte_carlo.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
fast_sincos: ./$(TEST_FOLDER)/test_fast_sincos.c ./src/fast_sincos.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
lu_decomposition: ./$(TEST_FOLDER)/test_lu_decomposition.c ./src/lu_decomposition.c ./src/matrix.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
stats: ./$(TEST_FOLDER)/test_stats.c ./src/stats.c ./src/linear_congruential_random_generator.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
finite_difference: ./$(TEST_FOLDER)/test_finite_difference.c ./src/finite_difference.c | build_folder
$(CC) $(CFLAGS) $^ -o $(BUILD_FOLDER)/[email protected] $(LDLIBS)
run_all_tests:
./$(BUILD_FOLDER)/test_linear_congruential_random_generator.out
./$(BUILD_FOLDER)/test_gauss_elimination.out
./$(BUILD_FOLDER)/test_poly_interpolation.out
./$(BUILD_FOLDER)/test_genetic.out
./$(BUILD_FOLDER)/test_jacobi.out
./$(BUILD_FOLDER)/test_DFT.out
./$(BUILD_FOLDER)/test_FFT.out
./$(BUILD_FOLDER)/test_lanczos.out
./$(BUILD_FOLDER)/test_gradient_descent.out
./$(BUILD_FOLDER)/test_fast_sincos.out
./$(BUILD_FOLDER)/test_monte_carlo.out
./$(BUILD_FOLDER)/test_lu_decomposition.out
./$(BUILD_FOLDER)/test_finite_difference.out
./$(BUILD_FOLDER)/test_stats.out
build_folder:
mkdir -p $(BUILD_FOLDER)
clean:
rm -rf $(BUILD_FOLDER)