Link with mlibc in freestanding mode
This commit is contained in:
parent
a8d1190b31
commit
a652f7219f
1 changed files with 14 additions and 6 deletions
20
GNUmakefile
20
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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue