Browse Source

build: "make generated" now recursively rebuilds all flex/bison targets.

legacy
Sam Hocevar sam 12 years ago
parent
commit
5320310f5a
2 changed files with 40 additions and 19 deletions
  1. +40
    -6
      build/autotools/common.am
  2. +0
    -13
      src/Makefile.am

+ 40
- 6
build/autotools/common.am View File

@@ -1,19 +1,46 @@

bench: bench-recursive
bench-recursive:
lol_recursive_rule = \
@if test -n "$(SUBDIRS)"; then for subdir in $(SUBDIRS); do \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) bench) || exit 1; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $(patsubst %-recursive, %, $@)) || exit 1; \
done; \
fi

bench: bench-recursive
bench-recursive:
$(lol_recursive_rule)

lolcheck: lolcheck-recursive
lolcheck-recursive:
@if test -n "$(SUBDIRS)"; then for subdir in $(SUBDIRS); do \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) lolcheck) || exit 1; \
$(lol_recursive_rule)


#
# Flex and Bison files build rule
#

generated: generated-recursive
generated-recursive:
$(lol_recursive_rule)
@if test -n "$(filter %-scanner.l, $(EXTRA_DIST))"; then \
echo $(MKDIR_P) generated; \
$(MKDIR_P) generated; \
rm -f generated/[a-zA-Z]*; \
for scanner in $(patsubst %-scanner.l, %, $(filter %-scanner.l, $(EXTRA_DIST))); do \
b="`basename $$scanner`"; \
echo flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \
flex -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \
done; \
for parser in $(patsubst %-parser.y, %, $(filter %-parser.y, $(EXTRA_DIST))); do \
b="`basename $$parser`"; \
echo bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y"; \
bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y"; \
done; \
fi

.PHONY: lolcheck bench

#
# .lolfx build rule
#

SUFFIXES = .lolfx
.lolfx.o:
@@ -23,3 +50,10 @@ SUFFIXES = .lolfx
echo ";") \
| $(CXXCOMPILE) -xc++ -c - -o $@


#
# Additional rules
#

.PHONY: bench lolcheck generated


+ 0
- 13
src/Makefile.am View File

@@ -70,19 +70,6 @@ liblol_a_SOURCES = \
debug/record.cpp debug/record.h debug/stats.cpp debug/stats.h
liblol_a_CPPFLAGS = @LOL_CFLAGS@ -Ibullet

if TRUE
generated: .FORCE
$(MKDIR_P) generated
rm -f generated/[a-zA-Z]*
flex -o generated/easymesh-scanner.cpp easymesh/easymesh-scanner.l
bison -o generated/easymesh-parser.cpp --defines=generated/easymesh-parser.h \
-d -b generated/easymesh easymesh/easymesh-parser.y
flex -o generated/lolfx-scanner.cpp gpu/lolfx-scanner.l
bison -o generated/lolfx-parser.cpp --defines=generated/lolfx-parser.h \
-d -b generated/lolfx gpu/lolfx-parser.y
.FORCE:
endif

EXTRA_DIST = easymesh/easymesh-scanner.l easymesh/easymesh-parser.y \
gpu/lolfx-scanner.l gpu/lolfx-parser.y



Loading…
Cancel
Save