From a652f7219f3378450ccdb05154832558bdf5f22d Mon Sep 17 00:00:00 2001 From: Joseph Kogut Date: Sun, 12 Feb 2017 15:42:41 -0800 Subject: [PATCH] Link with mlibc in freestanding mode --- GNUmakefile | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 859f92c..fae0820 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -4,7 +4,7 @@ CFLAGS = -Wall -pipe -Iinclude/ -std=gnu11 OFLAGS = LFLAGS = $(CFLAGS) -Llib/ PEDANTIC_FLAGS = -Werror -pedantic -pedantic-errors -FREESTANDING_FLAGS = -nostdlib +FREESTANDING_FLAGS = -nostdlib -nodefaultlibs -fno-builtin -Imlibc/include LIBTVM_SOURCES = $(wildcard libtvm/*.c) LIBTVM_OBJECTS = $(LIBTVM_SOURCES:.c=.o) @@ -36,7 +36,9 @@ ifeq ($(PEDANTIC), yes) endif ifeq ($(FREESTANDING), yes) + LFLAGS += -Lmlibc/lib -lminimalc CFLAGS += $(FREESTANDING_FLAGS) + FREESTANDING_DEPS = mlibc endif CFLAGS += $(OPTIMIZATION) @@ -56,12 +58,18 @@ uninstall: libtvm: $(LIBTVM_OBJECTS) ar rcs $(LIB_DIR)/libtvm.a $(LIBTVM_OBJECTS) -# Build the TVM interpreter -tvmi: libtvm - $(CC) $(LFLAGS) src/tvmi.c -ltvm -o $(BIN_DIR)/tvmi +submodules: + git submodule update --init -tdb: libtvm $(TDB_OBJECTS) - $(CC) $(LFLAGS) $(TDB_OBJECTS) -ltvm -o $(BIN_DIR)/tdb +mlibc: submodules + (cd mlibc && $(MAKE)) + +# Build the TVM interpreter +tvmi: libtvm $(FREESTANDING_DEPS) + $(CC) src/tvmi.c -ltvm $(LFLAGS) -o $(BIN_DIR)/tvmi + +tdb: libtvm $(TDB_OBJECTS) $(FREESTANDING_DEPS) + $(CC) $(TDB_OBJECTS) -ltvm $(LFLAGS) -o $(BIN_DIR)/tdb profile: tvmi time $(PROFILER) $(BIN_DIR)/tvmi $(PROF_ARGS)