CROSS_COMPILE = $(NACL_SDK_ROOT)/toolchain/linux_pnacl/bin/pnacl- CC = $(CROSS_COMPILE)clang CXX = $(CROSS_COMPILE)clang++ FINALIZE = $(CROSS_COMPILE)finalize STRIP = $(CROSS_COMPILE)strip ABICHECK = $(CROSS_COMPILE)abicheck CREATE_NMF = $(NACL_SDK_ROOT)/tools/create_nmf.py DEFAULT_FLAGS = -O2 -g -pipe CFLAGS ?= $(DEFAULT_FLAGS) CFLAGS += -Wall -pthread -ffunction-sections -fdata-sections CPPFLAGS += \ -D__UINT64_MAX \ -D__unix__ \ -I. \ -I$(PWD)/util # Now pull in the system code. CPPFLAGS += -I$(NACL_SDK_ROOT)/include -I$(NACL_SDK_ROOT)/include/newlib LDFLAGS += -L$(NACL_SDK_ROOT)/lib/pnacl/Release # We only use ppapi, but nacl_io needs ppapi_cpp. LDLIBS += -lppapi -lnacl_io -lppapi_cpp SRCS = ftplib.c ppapi.c queue.c inet_addr.c OBJS = $(SRCS:.c=.o) all: crftp.nmf %.nmf: %.pexe $(CREATE_NMF) $< > $@ %.pexe: %.bc $(FINALIZE) -o $@ $< # The ABI checker segfaults currently. # $(ABICHECK) $@ crftp.bc: $(OBJS) $(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) clean: rm -f *.pexe *.nmf *.bc *.o httpd: $(NACL_SDK_ROOT)/tools/httpd.py -C $(PWD) -p 7000 --no-dir-check >/dev/null 2>&1 & VPATH = ftplib util -include .depend .depend: $(SRCS) $(CC) $(CPPFLAGS) -MM $^ > $@ .PHONY: all clean .PRECIOUS: %.pexe