diff --git a/tensorflow/lite/tools/make/Makefile b/tensorflow/lite/tools/make/Makefile index c7ddff58440..ebfebaead35 100644 --- a/tensorflow/lite/tools/make/Makefile +++ b/tensorflow/lite/tools/make/Makefile @@ -48,11 +48,7 @@ INCLUDES += -I/usr/local/include # These are the default libraries needed, but they can be added to or # overridden by the platform-specific settings in target makefiles. -LIBS := \ --lstdc++ \ --lpthread \ --lm \ --lz \ +LIBS := -lm \ -ldl # There are no rules for compiling objects for the host system (since we don't @@ -84,14 +80,24 @@ endif # ifeq ($(HOST_ARCH),$(TARGET_ARCH)) endif # ifeq ($(HOST_OS),$(TARGET)) endif +CFLAGS+=-msimd128 -mbulk-memory -matomics +CXXFLAGS+=-msimd128 -mbulk-memory -matomics + +LIBFLAGS += -s TOTAL_STACK=1048576 -s MALLOC="none" \ + -s INITIAL_MEMORY=16777216 \ + -s MAXIMUM_MEMORY=167772160 \ + -s ALLOW_MEMORY_GROWTH=1 \ + -Wl,--export=__data_end -Wl,--export=__heap_base,--shared-memory,--no-check-features \ + -s ERROR_ON_UNDEFINED_SYMBOLS=0 + # This library is the main target for this makefile. It will contain a minimal # runtime that can be linked in to other programs. LIB_NAME := libtensorflow-lite.a # Benchmark static library and binary BENCHMARK_LIB_NAME := benchmark-lib.a -BENCHMARK_BINARY_NAME := benchmark_model -BENCHMARK_PERF_OPTIONS_BINARY_NAME := benchmark_model_performance_options +BENCHMARK_BINARY_NAME := benchmark_model.wasm +BENCHMARK_PERF_OPTIONS_BINARY_NAME := benchmark_model_performance_options.wasm # A small example program that shows how to link against the library. MINIMAL_SRCS := \ @@ -277,12 +283,16 @@ LIB_PATH := $(LIBDIR)$(LIB_NAME) BENCHMARK_LIB := $(LIBDIR)$(BENCHMARK_LIB_NAME) BENCHMARK_BINARY := $(BINDIR)$(BENCHMARK_BINARY_NAME) BENCHMARK_PERF_OPTIONS_BINARY := $(BINDIR)$(BENCHMARK_PERF_OPTIONS_BINARY_NAME) -MINIMAL_BINARY := $(BINDIR)minimal +MINIMAL_BINARY := $(BINDIR)minimal.wasm LABEL_IMAGE_BINARY := $(BINDIR)label_image -CXX := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}g++ -CC := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}gcc -AR := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}ar +# CXX := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}g++ +# CC := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}gcc +# AR := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}ar + +CXX := em++ +CC := emcc +AR := emar MINIMAL_OBJS := $(addprefix $(OBJDIR), \ $(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(MINIMAL_SRCS)))) diff --git a/tensorflow/lite/tools/make/targets/linux_makefile.inc b/tensorflow/lite/tools/make/targets/linux_makefile.inc index 222cef9e5ff..eea89a38f01 100644 --- a/tensorflow/lite/tools/make/targets/linux_makefile.inc +++ b/tensorflow/lite/tools/make/targets/linux_makefile.inc @@ -2,12 +2,10 @@ ifeq ($(TARGET), linux) CXXFLAGS += \ -fPIC \ - -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \ - -pthread + -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK CFLAGS += \ -fPIC \ - -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \ - -pthread + -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK # TODO(petewarden): In the future we may want to add architecture-specific # flags like -msse4.2 LIBS += -ldl