This commit is contained in:
Nishi 2026-05-08 05:25:34 +09:00
commit ece62938a9
Signed by: nishi
GPG key ID: 27EF69B208EB9343
7 changed files with 36 additions and 7 deletions

View file

@ -30,16 +30,18 @@ CFLAGS += -Iexternal/duktape -Iexternal/stb
OBJS = src/main.o src/js.o
OBJS += external/duktape/duktape.o external/stb/stb_ds.o
NAME = rev | cut -d/ -f1 | rev | cut -d. -f1
.PHONY: all clean mk maint
.SUFFIXES: .c .o
all: pmake$(EXE)
include mk/compiler.mk
include mk/js.mk
mk/compiler.mk:
find src/js src/compiler -name "*.js" | while read js; do \
name="`echo $$js | cut -d/ -f2`_`echo $$js | rev | cut -d/ -f1 | rev | cut -d. -f1`" ; \
mk/js.mk:
find src/js src/action src/compiler -name "*.js" | while read js; do \
name="`echo $$js | cut -d/ -f2`_`echo $$js | $(NAME)`" ; \
c="`echo $$js | sed 's/\.js$$/.c/'`" ; \
o="`echo $$js | sed 's/\.js$$/.o/'`" ; \
echo "OBJS += $$o" ; \
@ -48,7 +50,7 @@ mk/compiler.mk:
echo "" ; \
done > $@
mk: mk/compiler.mk
mk: mk/js.mk
maint:
rm -f mk/*.mk
@ -62,9 +64,18 @@ src/config.h:
echo "" >> $@
echo "#define COMPILERS \\" >> $@
find src/compiler -name "*.js" | while read js; do \
echo " X(`echo $$js | rev | cut -d/ -f1 | rev | cut -d. -f1`) \\" ; \
echo " X(`echo $$js | $(NAME)`) \\" ; \
done >> $@
echo "" >> $@
echo "#define ACTIONS \\" >> $@
find src/action -name "*.js" | while read js; do \
echo " X(`echo $$js | $(NAME)`) \\" ; \
done >> $@
echo "" >> $@
echo "#define JS \\" >> $@
echo " COMPILERS \\" >> $@
echo " ACTIONS" >> $@
echo "" >> $@
echo "#endif" >> $@
pmake$(EXE): $(OBJS)