mirror of
https://github.com/ccxvii/mujs.git
synced 2026-02-06 01:41:37 +08:00
48 lines
993 B
Makefile
48 lines
993 B
Makefile
SRCS := $(wildcard js*.c utf*.c regex.c)
|
|
HDRS := $(wildcard js*.h utf.h regex.h)
|
|
OBJS := $(SRCS:%.c=build/%.o)
|
|
|
|
CFLAGS = -Wall -g
|
|
|
|
default: build js re
|
|
|
|
build:
|
|
mkdir -p build
|
|
|
|
build/%.o : %.c $(HDRS)
|
|
$(CC) -c $< -o $@ $(CFLAGS)
|
|
|
|
build/libjs.a: $(OBJS)
|
|
ar cru $@ $^
|
|
|
|
astnames.h : jsparse.h
|
|
grep '\(AST\|EXP\|STM\)_' jsparse.h | sed 's/^[ \t]*\(AST_\)\?/"/;s/,.*/",/' | tr A-Z a-z > $@
|
|
|
|
opnames.h : jscompile.h
|
|
grep 'OP_' jscompile.h | sed 's/^[ \t]*OP_/"/;s/,.*/",/' | tr A-Z a-z > $@
|
|
|
|
jsdump.c : astnames.h opnames.h
|
|
|
|
js: build/main.o build/libjs.a
|
|
$(CC) -o $@ $^ -lm
|
|
|
|
re: regex.c utf.c utftype.c
|
|
$(CC) $(CFLAGS) -DTEST -o $@ $^
|
|
|
|
libjs.c : $(SRCS)
|
|
ls $(SRCS) | awk '{print "#include \""$$1"\""}' > $@
|
|
|
|
jsone: build/main.o build/libjs.o
|
|
$(CC) -o $@ $^ -lm
|
|
|
|
tags: $(SRCS) main.c $(HDRS)
|
|
ctags $^
|
|
|
|
test: js
|
|
python tests/sputniktests/tools/sputnik.py --tests=tests/sputniktests --command ./js --summary
|
|
|
|
clean:
|
|
rm -f astnames.h opnames.h libjs.c build/* js
|
|
|
|
.PHONY: default test clean
|