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.
 
 
 

60 regels
1.6 KiB

  1. lol_recursive_rule = \
  2. @if test -n "$(SUBDIRS)"; then for subdir in $(SUBDIRS); do \
  3. ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $(patsubst %-recursive, %, $@)) || exit 1; \
  4. done; \
  5. fi
  6. bench: bench-recursive
  7. bench-recursive:
  8. $(lol_recursive_rule)
  9. lolcheck: lolcheck-recursive
  10. lolcheck-recursive:
  11. $(lol_recursive_rule)
  12. #
  13. # Flex and Bison files build rule
  14. #
  15. generated: generated-recursive
  16. generated-recursive:
  17. $(lol_recursive_rule)
  18. @if test -n "$(filter %-scanner.l, $(EXTRA_DIST))"; then \
  19. echo $(MKDIR_P) generated; \
  20. $(MKDIR_P) generated; \
  21. rm -f generated/[a-zA-Z]*; \
  22. for scanner in $(patsubst %-scanner.l, %, $(filter %-scanner.l, $(EXTRA_DIST))); do \
  23. b="`basename $$scanner`"; \
  24. echo flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \
  25. flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l" || exit 1; \
  26. done; \
  27. for parser in $(patsubst %-parser.y, %, $(filter %-parser.y, $(EXTRA_DIST))); do \
  28. b="`basename $$parser`"; \
  29. echo bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y"; \
  30. bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y" || exit 1; \
  31. done; \
  32. fi
  33. #
  34. # .lolfx build rule
  35. #
  36. SUFFIXES = .lolfx
  37. .lolfx.o:
  38. (echo "char const *"; \
  39. echo "lolfx_$(notdir $(basename $(filter %.lolfx, $^))) ="; \
  40. $(SED) 's/"/\\"/g' $(filter %.lolfx, $^) | $(SED) 's/\([^\r]*\).*/"\1\\n"/'; \
  41. echo ";") \
  42. | $(CXXCOMPILE) -xc++ -c - -o $@
  43. #
  44. # Additional rules
  45. #
  46. .PHONY: bench lolcheck generated