The Sol Programming Language!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
669 B

  1. CFLAGS= -g
  2. LDFLAGS= -lm -ldl -lreadline
  3. OBJ= lex.yy.o parser.tab.o dsl/seq.o dsl/list.o dsl/array.o dsl/generic.o astprint.o runtime.o gc.o object.o state.o builtins.o solrun.o
  4. .PHONY: all test
  5. all: dsl sol
  6. sol: $(OBJ)
  7. gcc $(CFLAGS) $? $(LDFLAGS) -o sol
  8. test: all $(sort $(patsubst tests/%.sol,test_%,$(wildcard tests/*.sol)))
  9. test_%: tests/%.sol
  10. ./sol r $?
  11. dsl:
  12. git submodule init && git submodule sync && git submodule update
  13. %.o: %.c
  14. gcc -c -o $@ $? $(CFLAGS)
  15. %.tab.c %.tab.h: %.y
  16. bison -rall -fall -d $?
  17. lex.yy.c: tokenizer.lex parser.tab.h
  18. flex $<
  19. clean:
  20. rm -f *.o dsl/*.o sol
  21. docs: Doxyfile
  22. doxygen Doxyfile
  23. sphinx-build -b html . ./_build