]> git.wh0rd.org - chrome-ext/crftp.git/blob - pnacl/Makefile
init
[chrome-ext/crftp.git] / pnacl / Makefile
1 CROSS_COMPILE = $(NACL_SDK_ROOT)/toolchain/linux_pnacl/bin/pnacl-
2 CC = $(CROSS_COMPILE)clang
3 CXX = $(CROSS_COMPILE)clang++
4 FINALIZE = $(CROSS_COMPILE)finalize
5 STRIP = $(CROSS_COMPILE)strip
6 ABICHECK = $(CROSS_COMPILE)abicheck
7 CREATE_NMF = $(NACL_SDK_ROOT)/tools/create_nmf.py
8
9 DEFAULT_FLAGS = -O2 -g -pipe
10 CFLAGS ?= $(DEFAULT_FLAGS)
11 CFLAGS += -Wall -pthread -ffunction-sections -fdata-sections
12 CPPFLAGS += \
13 -D__UINT64_MAX \
14 -D__unix__ \
15 -I. \
16 -I$(PWD)/util
17
18 # Now pull in the system code.
19 CPPFLAGS += -I$(NACL_SDK_ROOT)/include -I$(NACL_SDK_ROOT)/include/newlib
20 LDFLAGS += -L$(NACL_SDK_ROOT)/lib/pnacl/Release
21 # We only use ppapi, but nacl_io needs ppapi_cpp.
22 LDLIBS += -lppapi -lnacl_io -lppapi_cpp
23
24 SRCS = ftplib.c ppapi.c queue.c inet_addr.c
25 OBJS = $(SRCS:.c=.o)
26
27 all: crftp.nmf
28
29 %.nmf: %.pexe
30 $(CREATE_NMF) $< > $@
31
32 %.pexe: %.bc
33 $(FINALIZE) -o $@ $<
34 # The ABI checker segfaults currently.
35 # $(ABICHECK) $@
36
37 crftp.bc: $(OBJS)
38 $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
39
40 clean:
41 rm -f *.pexe *.nmf *.bc *.o
42
43 httpd:
44 $(NACL_SDK_ROOT)/tools/httpd.py -C $(PWD) -p 7000 --no-dir-check >/dev/null 2>&1 &
45
46 VPATH = ftplib util
47
48 -include .depend
49 .depend: $(SRCS)
50 $(CC) $(CPPFLAGS) -MM $^ > $@
51
52 .PHONY: all clean
53 .PRECIOUS: %.pexe