aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-07-22 15:34:57 +0800
committerMistivia <i@mistivia.com>2025-07-22 15:35:11 +0800
commitea5c15cbd628953e7b9d17b45ea685006a582cd4 (patch)
tree0440a31d4fb2f73cd150fa11f19ac08fd23562f9
parentd64a599af8c6b52223b20f727d76a59a562abb75 (diff)
change dir structure
-rw-r--r--.gitmodules2
m---------3rdparty/algds0
-rw-r--r--Makefile31
-rw-r--r--builtins.c (renamed from src/builtins.c)0
-rw-r--r--builtins.h (renamed from src/builtins.h)0
-rw-r--r--interp.c (renamed from src/interp.c)0
-rw-r--r--interp.h (renamed from src/interp.h)0
m---------libs/algds0
-rw-r--r--main.c (renamed from src/main.c)0
-rw-r--r--parser.c (renamed from src/parser.c)0
-rw-r--r--parser.h (renamed from src/parser.h)0
-rw-r--r--prelude.c (renamed from src/prelude.c)0
-rw-r--r--prelude.h (renamed from src/prelude.h)0
-rw-r--r--prelude.lisp (renamed from src/prelude.lisp)0
-rw-r--r--primitives.c (renamed from src/primitives.c)0
-rw-r--r--primitives.h (renamed from src/primitives.h)0
-rw-r--r--sexp.c (renamed from src/sexp.c)0
-rw-r--r--sexp.h (renamed from src/sexp.h)0
-rw-r--r--vector.c (renamed from src/vector.c)0
-rw-r--r--vector.h (renamed from src/vector.h)0
20 files changed, 17 insertions, 16 deletions
diff --git a/.gitmodules b/.gitmodules
index 26eaac4..503bd08 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
[submodule "3rdparty/algds"]
- path = 3rdparty/algds
+ path = libs/algds
url = https://github.com/mistivia/algds.git
diff --git a/3rdparty/algds b/3rdparty/algds
deleted file mode 160000
-Subproject a8764a20f355fd8fb7b03978d754d1cbd48d0a8
diff --git a/Makefile b/Makefile
index d1c8fbc..61b03ce 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
mode ?= debug
cc = gcc
-includes = -DWITHREADLINE -I3rdparty/algds/build/include/
+includes = -DWITHREADLINE -Ilibs/
-3rdlibs = 3rdparty/algds/build/lib/libalgds.a
+libs = libs/algds/libalgds.a
ldflags = -lm -lreadline
ifeq ($(mode), debug)
cflags = $(includes) \
@@ -13,7 +13,7 @@ else
cflags = $(includes) -flto -O2
endif
-src = $(shell find src/ -name '*.c' -not -name 'main.c')
+src = $(shell find ./ -maxdepth 1 -name '*.c' -not -name 'main.c')
obj = $(src:.c=.o)
tests=$(shell ls tests/*.c)
@@ -27,23 +27,23 @@ web: web-bamboo-lisp.js
web-bamboo-lisp.js: $(src)
-rm web-*
- emcc -I3rdparty/algds/build/include $(src) 3rdparty/algds/src/*.c -o web-bamboo-lisp.js \
+ emcc -Ilibs/ $(src) libs/algds/*.c -o web-bamboo-lisp.js \
-s EXPORTED_FUNCTIONS="['_print_lisp_error', '_malloc', '_free', '_new_interp', '_lisp_to_string', _Interp_eval_string]" -s WASM=1 -s EXPORTED_RUNTIME_METHODS="['stringToUTF8', 'UTF8ToString']"
install: bamboo-lisp
sudo cp bamboo-lisp /usr/local/bin/bamboo
-src/prelude.c: src/prelude.lisp
- cat src/prelude.lisp | python scripts/genprelude.py > src/prelude.c
+prelude.c: prelude.lisp
+ cat prelude.lisp | python scripts/genprelude.py > prelude.c
-bamboo-lisp: $(obj) src/main.o 3rdparty/algds/build/lib/libalgds.a
+bamboo-lisp: $(obj) main.o libs/algds/libalgds.a
gcc $(cflags) -o $@ $^ $(ldflags)
libbamboo-lisp.a: $(obj)
ar cr $@ $^
-3rdparty/algds/build/lib/libalgds.a:
- cd 3rdparty/algds && \
+libs/algds/libalgds.a:
+ cd libs/algds && \
make profile=$(mode)
test: bamboo-lisp $(tests_bin)
@@ -53,24 +53,25 @@ test: bamboo-lisp $(tests_bin)
@echo "Run scripts:"
./bamboo-lisp tests/test.lisp
-src/main.o:src/main.c
+main.o:main.c
$(cc) -c $(cflags) $< -MD -MF $@.d -o $@
$(obj):%.o:%.c
$(cc) -c $(cflags) $< -MD -MF $@.d -o $@
-$(obj):%.o:$(3rdlibs)
+$(obj):%.o:$(libs)
-$(tests_bin):%.bin:%.c $(obj) $(3rdlibs)
- $(cc) $(cflags) -Isrc/ $< $(obj) $(3rdlibs) -MD -MF $@.d -o $@ $(ldflags)
+$(tests_bin):%.bin:%.c $(obj) $(libs)
+ $(cc) $(cflags) -I./ -Ilibs/ $< $(obj) $(libs) -MD -MF $@.d -o $@ $(ldflags)
clean:
-rm $(shell find tests/ -name '*.bin')
-rm $(shell find . -name '*.o' -or -name '*.a' -or -name '*.d')
+ -rm web-bamboo-lisp*
-rm bamboo-lisp
- -cd 3rdparty/algds && make clean
+ -cd libs/algds && make clean
-DEPS := $(shell find . -name *.d)
+DEPS := $(shell find . -name '*.d')
ifneq ($(DEPS),)
include $(DEPS)
endif
diff --git a/src/builtins.c b/builtins.c
index efad674..efad674 100644
--- a/src/builtins.c
+++ b/builtins.c
diff --git a/src/builtins.h b/builtins.h
index 66d6d1a..66d6d1a 100644
--- a/src/builtins.h
+++ b/builtins.h
diff --git a/src/interp.c b/interp.c
index 0af16de..0af16de 100644
--- a/src/interp.c
+++ b/interp.c
diff --git a/src/interp.h b/interp.h
index 1acd983..1acd983 100644
--- a/src/interp.h
+++ b/interp.h
diff --git a/libs/algds b/libs/algds
new file mode 160000
+Subproject 999fcf0f7655c03265c222cc67617f0f510979b
diff --git a/src/main.c b/main.c
index 1911873..1911873 100644
--- a/src/main.c
+++ b/main.c
diff --git a/src/parser.c b/parser.c
index f21c90b..f21c90b 100644
--- a/src/parser.c
+++ b/parser.c
diff --git a/src/parser.h b/parser.h
index 0721675..0721675 100644
--- a/src/parser.h
+++ b/parser.h
diff --git a/src/prelude.c b/prelude.c
index 679b418..679b418 100644
--- a/src/prelude.c
+++ b/prelude.c
diff --git a/src/prelude.h b/prelude.h
index 3acf146..3acf146 100644
--- a/src/prelude.h
+++ b/prelude.h
diff --git a/src/prelude.lisp b/prelude.lisp
index a1be068..a1be068 100644
--- a/src/prelude.lisp
+++ b/prelude.lisp
diff --git a/src/primitives.c b/primitives.c
index 971aa87..971aa87 100644
--- a/src/primitives.c
+++ b/primitives.c
diff --git a/src/primitives.h b/primitives.h
index cd686fe..cd686fe 100644
--- a/src/primitives.h
+++ b/primitives.h
diff --git a/src/sexp.c b/sexp.c
index d8feb4d..d8feb4d 100644
--- a/src/sexp.c
+++ b/sexp.c
diff --git a/src/sexp.h b/sexp.h
index ce47362..ce47362 100644
--- a/src/sexp.h
+++ b/sexp.h
diff --git a/src/vector.c b/vector.c
index 453800b..453800b 100644
--- a/src/vector.c
+++ b/vector.c
diff --git a/src/vector.h b/vector.h
index 34113d1..34113d1 100644
--- a/src/vector.h
+++ b/vector.h