1 #
2 # Copyright (c) 2012 Joyent, Inc. All rights reserved.
3 #
4
5 all: $(MODULE_DIR)/$(MODULE).node
6
7 $(ERRNO_C): $(GENERRNO_JS) $(ERRNO_JSON)
8 $(GENERRNO) -c -o $@ $(ERRNO_JSON)
9
10 $(ERRNO_H): $(GENERRNO_JS) $(ERRNO_JSON)
11 $(GENERRNO) -h -o $@ $(ERRNO_JSON)
12
13 $(OBJS): $(ERRNO_H)
14
15 $(MODULE_DIR)/$(MODULE).node: $(OBJS) $(MAPFILE)
16 $(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
17 $(CTFMERGE.node)
18
19 %.o: %.c
20 $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
21 $(CTFCONVERT) -l $(CTF_LABEL) $@
22
23 %.o: %.cc
24 $(CXX) $(CXXPPFLAGS) $(CXXFLAGS) -c -o $@ $<
25
26 %.o: $(V8PLUS)/%.c
27 $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
28 $(CTFCONVERT.o)
29
30 %.o: $(V8PLUS)/%.cc
31 $(CXX) $(CXXPPFLAGS) $(CXXFLAGS) -c -o $@ $<
32
33 $(MAPFILE): $(PREFIX_NODE)/bin/node
34 /usr/bin/nm -ghnp $< | \
35 (printf "\$$mapfile_version 2\n\nSYMBOL_SCOPE {\n\tglobal:\n"; \
36 awk '$$2 != "U" { print "\t\t" $$3 "\t{ FLAGS = EXTERN };" }'; \
37 printf "\t\tinit;\n\tlocal:\n\t\t*;\n};") > $@
38
39 .PHONY: clean
40
41 clean:
42 -rm -f $(OBJS) $(ERRNO_C) $(ERRNO_H)
43
44 clobber: clean
45 -rm -f $(MODULE_DIR)/$(MODULE).node $(MAPFILE)