-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathMakefile
53 lines (36 loc) · 1.34 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
# This file is part of Quipper. Copyright (C) 2011-2014. Please see the
# file COPYRIGHT for a list of authors, copyright holders, licensing,
# and other details. All rights reserved.
#
# ======================================================================
# TOP-LEVEL MAKEFILE FOR QUIPPER
LIBRARIES:=Libraries QuipperLib
ALGORITHMS:= Algorithms/BF Algorithms/BWT Algorithms/CL \
Algorithms/GSE Algorithms/QLS Algorithms/TF Algorithms/USV
PROGRAMS:=Programs/QCLParser Programs/Tools
TESTS:=tests tests/template
SUBDIRS:=quipper $(LIBRARIES) $(ALGORITHMS) $(PROGRAMS) $(TESTS)
# ----------------------------------------------------------------------
# Default rule
.PHONY: all fast
.PHONY: $(SUBDIRS)
all:
$(MAKE) SUBDIR_TARGET=all $(FAST) $(SUBDIRS)
$(SUBDIRS):
$(MAKE) $(FAST) -C "$@" $(SUBDIR_TARGET)
quipper: Libraries
QuipperLib: Libraries quipper
$(ALGORITHMS): quipper $(LIBRARIES)
$(PROGRAMS): quipper $(LIBRARIES)
$(TESTS): quipper $(LIBRARIES) $(ALGORITHMS)
# ----------------------------------------------------------------------
# Faster compilation: "make fast <target>" will skip optimization
FAST :=
fast:
$(eval FAST := fast)
# ----------------------------------------------------------------------
# Cleaning
tidy:
$(MAKE) SUBDIR_TARGET=tidy $(FAST) $(SUBDIRS)
clean:
$(MAKE) SUBDIR_TARGET=clean $(FAST) $(SUBDIRS)