Link with mlibc in freestanding mode

This commit is contained in:
Joseph Kogut 2017-02-12 15:42:41 -08:00
parent a8d1190b31
commit a652f7219f

View file

@ -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)