-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathMakefile
35 lines (26 loc) · 1.14 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
SUBSYS?=http
DESTDIR?=build/src
TEMPLATE_SOURCES=$(wildcard src/subsys/*.tt2)
TEMPLATE_TARGETS=$(subst _subsys_,_$(SUBSYS)_, $(patsubst src/subsys/%.tt2, $(DESTDIR)/%, $(TEMPLATE_SOURCES)))
API_TEMPLATE_SOURCES=$(wildcard src/subsys/api/*.tt2)
API_TEMPLATE_TARGETS=$(subst _subsys_,_$(SUBSYS)_, $(patsubst src/subsys/%.tt2, $(DESTDIR)/%, $(API_TEMPLATE_SOURCES)))
MINI_TT2=util/mini-tt2.pl
.PHONY: all
all: $(DESTDIR)/api $(TEMPLATE_TARGETS) $(API_TEMPLATE_TARGETS)
find src/$(SUBSYS) -type f -name '*.tt2' -exec $(MINI_TT2) -d $(DESTDIR) -s $(SUBSYS) '{}' ';'
$(shell cp src/$(SUBSYS)/*.{h,c} $(DESTDIR))
$(DESTDIR)/api/ngx_http_%: src/subsys/api/ngx_subsys_%.tt2
$(MINI_TT2) -d $(DESTDIR)/api -s http $<
$(DESTDIR)/ngx_http_%: src/subsys/ngx_subsys_%.tt2
$(MINI_TT2) -d $(DESTDIR) -s $(SUBSYS) $<
$(DESTDIR)/api/ngx_stream_%: src/subsys/api/ngx_subsys_%.tt2
$(MINI_TT2) -d $(DESTDIR)/api -s stream $<
$(DESTDIR)/ngx_stream_%: src/subsys/ngx_subsys_%.tt2
$(MINI_TT2) -d $(DESTDIR) -s $(SUBSYS) $<
$(DESTDIR)/%: src/subsys/%.tt2
$(MINI_TT2) -d $(DESTDIR) -s $(SUBSYS) $<
$(DESTDIR)/api:
mkdir -p $(DESTDIR)/api
.PHONY: clean
clean:
rm -rf build