blob: 6cb1aeb6a5beb7a63a9e54e207030d8f769b4fad (
plain)
| 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
 | c_mains := poiss.c svd.c timestamp.c
c_sources := $(c_mains) arg_parser.c parse_csv.c
% : %.c       # cancel built-in one-step rule
%.o : %.c
	g++ -g -O2 -Wall $< -c
% : %.o
	g++ $^ $(LDFLAGS) -o $@
.PHONY : all priority
## dependency-finding scheme (with local mods) based on:
## http://www.gnu.org/manual/make-3.77/html_mono/make.html#SEC42
## (requires an include statement at end of the makefile)
%.d: %.c
	@$(SHELL) -ec '$(CXX) -MM $(CXXFLAGS) $< \
		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
		[ -s $@ ] || rm -f $@'
################ end of pattern rules, start of real rules
all : $(c_mains:.c=)
poiss : poiss.o arg_parser.o parse_csv.o
	g++ $^ -lnlopt -o $@
svd : svd.o arg_parser.o parse_csv.o
	g++ $^ -larmadillo -o $@
timestamp: timestamp.o arg_parser.o
	$(CXX) $^ -lpthread -o $@
priority:
	sudo setcap CAP_SYS_NICE=ep ./timestamp
ifndef NO_DOT_D
  include $(c_sources:.c=.d)
endif
 |