diff --git a/Makefile b/Makefile index 667198b..d788873 100644 --- a/Makefile +++ b/Makefile @@ -5,14 +5,15 @@ TARGET_TRIPLE = wasm32-unknown-wasi CFLAGS = -nostartfiles -fvisibility=hidden LDFLAGS = -Wl,--no-entry,--demangle,--allow-undefined EXPORT_FUNCS = --export=allocate,--export=deallocate,--export=invoke -SDK = sdk/allocator.c sdk/logger.c +SDK = sdk/allocator.c sdk/logger.c sdk/syscalls_stubs.c +SRC = src/main.c .PHONY: default all clean default: $(TARGET) all: default -$(TARGET): main.c $(SDK) +$(TARGET): $(SRC) $(SDK) $(CC) --sysroot=$(SYSROOT) --target=$(TARGET_TRIPLE) $(CFLAGS) $(LDFLAGS) -Wl,$(EXPORT_FUNCS) $^ -o $@.wasm .PRECIOUS: $(TARGET) diff --git a/main.c b/main.c deleted file mode 100644 index 0c3611f..0000000 --- a/main.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "sdk/allocator.h" -#include "sdk/logger.h" -#include "sdk/side_module_api.h" - -char *invoke(const char *str, int length) { - -} diff --git a/sdk/side_module_api.h b/sdk/side_module_api.h index ef1e7ea..1ce3d5a 100644 --- a/sdk/side_module_api.h +++ b/sdk/side_module_api.h @@ -2,7 +2,7 @@ #define C_TEMPLATE_SIDE_MODULE_API_H #include -#include +#include /* * Concatenate preprocessor tokens A and B without expanding macro definitions diff --git a/sdk/syscalls_stubs.c b/sdk/syscalls_stubs.c new file mode 100644 index 0000000..5587850 --- /dev/null +++ b/sdk/syscalls_stubs.c @@ -0,0 +1,14 @@ +#include + +size_t __stdio_write(FILE *f, const unsigned char *buf, size_t len) { + return 1; +} + +int __stdio_close(FILE *f) { + return 1; +} + +off_t __stdio_seek(FILE *_f, off_t _offset, int _value) { + return 1; +} + diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..14a5126 --- /dev/null +++ b/src/main.c @@ -0,0 +1,7 @@ +#include "../sdk/allocator.h" +#include "../sdk/logger.h" +#include "../sdk/side_module_api.h" + +char *invoke(const char *str, int length) { + +}