chiark / gitweb /
rhodes: Don't try to kill ourselves when zapping redundant workers.
[rhodes] / Makefile
CommitLineData
a78da4e7
MW
1all::
2
3PROGS += rho
4rho_SRCS = rho.cc
5rho_LIBS = -lntl
6
7PROGS += factor
8factor_SRCS = factor.c
9factor_LIBS = -lpari
10
11TARGETS =
12CLEAN += $(TARGETS)
13.SECONDEXPANSION:
14
15V = 0
16v_tag = $(call v_tag_$V,$1)
17v_tag_0 = @printf " %-6s %s\n" $1 $@;
18V_AT = $(V_AT_$V)
19V_AT_0 = @
20
21CC = gcc
22CFLAGS = -O2 -g -Wall -Werror
23CCLD = $(CC)
24LDFLAGS =
25CCLINK = $(call v_tag,CCLD)$(CCLD) $(LDFLAGS)
26
27AS = $(CC)
28
29CXX = g++
30CXXFLAGS = $(CFLAGS) -std=gnu++11
31CXXLD = $(CXX)
32CXXLINK = $(call v_tag,CXXLD)$(CXXLD) $(LDFLAGS)
33
34CLEAN += *.o *.d
35
36%.o: %.c
37 $(call v_tag,CC)$(CC) -c $(CFLAGS) -MD -o$@ $<
38
39%.o: %.cc
40 $(call v_tag,CXX)$(CXX) -c $(CXXFLAGS) -MD -o$@ $<
41
42objify = \
43 $(patsubst %.c,%.o, \
44 $(patsubst %.cc,%.o, \
45 $(patsubst %.s,%.o, $(patsubst %.S,%.o, \
46 $1))))
47
48TARGETS += $(PROGS)
49
50$(PROGS): %: $$(call objify,$$($$*_SRCS))
51 $(or $(and $(filter %.cc,$($*_SRCS)),$(CXXLINK)),$(CCLINK)) -o$@ \
52 $($*_LDFLAGS) $^ $($*_LIBS) $(LIBS)
53
54clean::
55 rm -f $(CLEAN)
56.PHONY: clean
57
58all:: $(TARGETS)
59.PHONY: all