1#-------------------------------------------------------------------------------
2# GraphBLAS/GraphBLAS/Makefile
3#-------------------------------------------------------------------------------
4
5# SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2021, All Rights Reserved.
6# SPDX-License-Identifier: GPL-3.0-or-later
7
8#-------------------------------------------------------------------------------
9
10# simple Makefile for GraphBLAS, relies on cmake to do the actual build.  Use
11# the CMAKE_OPTIONS argument to this Makefile to pass options to cmake.
12
13JOBS ?= 4
14
15default: library
16
17# just build the dynamic library; do not run the demo
18library:
19	( cd build ; cmake $(CMAKE_OPTIONS) .. ; $(MAKE) --jobs=$(JOBS) )
20
21# just do 'make' in build; do not rerun the cmake script
22remake:
23	( cd build ; $(MAKE) --jobs=$(JOBS) )
24
25# just run cmake; do not compile
26cmake:
27	( cd build ; cmake $(CMAKE_OPTIONS) .. ; )
28
29# installs GraphBLAS to the install location defined by cmake, usually
30# /usr/local/lib and /usr/local/include
31install:
32	( cd build ; $(MAKE) install )
33
34# remove any installed libraries and #include files
35uninstall:
36	- xargs rm < build/install_manifest.txt
37
38clean: distclean
39
40purge: distclean
41
42# remove all files not in the distribution
43distclean:
44	rm -rf build/*
45	( cd test/tcov ; $(MAKE) distclean )
46	( cd @GrB/private ; $(MAKE) distclean )
47
48
49