diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-24 00:49:48 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-24 00:49:48 +0330 |
commit | 547074407aa154cc82ecff647603254f2eaf46f6 (patch) | |
tree | 94900126df946fa89b741a699db9cbe9ca743fe3 /Makefile | |
parent | 3c9aea642e3b2f4083705f1cd42fa911d35ee696 (diff) |
add a good example for calling c functions
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -20,9 +20,9 @@ INC_DIRS := $(SRC_DIR) INC_FLAGS := $(addprefix -I,$(INC_DIRS)) # OP_FLAG := -Ofast -# OP_FLAG := -O3 +OP_FLAG := -O3 # OP_FLAG := -Oz -OP_FLAG := -g +# OP_FLAG := -g # CFLAGS := $(INC_FLAGS) -Wall -Wextra -std=gnu23 -DPRINT_STATISTICS -DPRINT_COMPILE_TREE $(OP_FLAG) CFLAGS := $(INC_FLAGS) -Wall -Wextra -std=gnu23 -lffi -DPRINT_STATISTICS $(OP_FLAG) @@ -73,8 +73,11 @@ test/big.felan: Makefile echo "main :: () -> void {" > $@ for((n = 0;n < 1000000;n++)); do echo " print('1');" >> $@; done echo "};" >> $@ + echo "libc :: @c_library(\"/lib/libc.so.6\");" >> $@ + echo "putchar :: @c_function(libc,\"putchar\",(i32)->i32);" >> $@ echo "print :: (value:u8) -> void {" >> $@ - echo " @putc(value);" >> $@ + echo " putchar(@cast(value,i32));" >> $@ + # echo " @putc(value);" >> $@ echo "};" >> $@ # $@ = left hand of : |