-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile
62 lines (52 loc) · 1.62 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
# Makefile for parallelGBC 0.9 and later
#
# Just execute "make" to compile the tool. If you want to configure
# compiler options, please change Makefile.rules. If you need more
# informations, please read on.
#
# This file is part of parallelGBC, a parallel groebner basis computation tool.
#
# parallelGBC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# parallelGBC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with parallelGBC. If not, see <http://www.gnu.org/licenses/>.
# Run through all Makefile options
all: test
# Delete everything and rebuild all files
fresh:
$(MAKE) clean;
$(MAKE) all;
# The Makefile.rules includes all compiler flags and generic MAKE rules.
# Last is the reason why "all" and "fresh" are above.
include Makefile.rules
# Run all tests in the test directory
run: test
$(MAKE) -C test run
# Compile all files in test
.PHONY: test
test: library
$(MAKE) -C test all
# Build the library
library: src
$(AR) rcs lib/libf4.a src/*.o
# Compile all src files
.PHONY: src
src:
$(MAKE) -C src all
# Clean the whole project
clean:
$(MAKE) -C src objclean
$(MAKE) -C test objclean
rm -f lib/*.a
rm -f include/Definitions.H
# Do primitive checks
check: test
./test/RunTests.sh