xref: /aosp_15_r20/external/antlr/runtime/Cpp/tests/Makefile (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot.PRECIOUS=.o
2*16467b97STreehugger Robot
3*16467b97STreehugger RobotANTLRGRAMMARS ?= $(wildcard t0[01]*.g)
4*16467b97STreehugger RobotHEADERS = $(wildcard *.hpp) $(wildcard *.inl)
5*16467b97STreehugger RobotRUNTIME_HEADERS = $(wildcard ../include/*.hpp) $(wildcard ../include/*.inl)
6*16467b97STreehugger RobotSOURCES = $(wildcard *.cpp)
7*16467b97STreehugger RobotPOBJS = $(PSOURCES:.cpp=.o)
8*16467b97STreehugger RobotTOKENS = $(ANTLRGRAMMARS:.g=.tokens)
9*16467b97STreehugger Robot
10*16467b97STreehugger RobotGRAMMAROPTIONS= #-report -Xconversiontimeout 1500000 -Xmultithreaded -Xwatchconversion
11*16467b97STreehugger RobotANTLR = ../../../antlr-complete/target/antlr-complete-3.5.2-SNAPSHOT.jar
12*16467b97STreehugger RobotSTGS  = $(wildcard ../../../tool/src/main/resources/org/antlr/codegen/templates/Cpp/*.stg)
13*16467b97STreehugger Robot
14*16467b97STreehugger Robot.SUFFIXES:
15*16467b97STreehugger Robot
16*16467b97STreehugger RobotINCLUDES= -I. -I../include/
17*16467b97STreehugger Robot
18*16467b97STreehugger RobotCFLAGS=-ggdb3 -O0 -fno-inline -Wall -Wno-unused-variable
19*16467b97STreehugger Robot#CFLAGS=-ggdb3 -O3
20*16467b97STreehugger Robot
21*16467b97STreehugger RobotTOBJS= utils.o
22*16467b97STreehugger Robot
23*16467b97STreehugger Robotall: $(ANTLR) $(TOKENS) t001 t002 t003 t004 t005 t006 t006 t007 t008 t009 t010 t011 t012
24*16467b97STreehugger Robot
25*16467b97STreehugger Robot# For devel only. This will replace .stg files in the tool in a fast way
26*16467b97STreehugger Robot#
27*16467b97STreehugger Robot$(ANTLR): $(STGS)
28*16467b97STreehugger Robot	jar uvf $(ANTLR) -C ../../../tool/src/main/resources \
29*16467b97STreehugger Robot	org/antlr/codegen/templates/Cpp/Cpp.stg
30*16467b97STreehugger Robot
31*16467b97STreehugger Robott001:	t001.cpp t001lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
32*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
33*16467b97STreehugger Robot
34*16467b97STreehugger Robott002:	t002.cpp t002lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
35*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
36*16467b97STreehugger Robot
37*16467b97STreehugger Robott003:	t003.cpp t003lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
38*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
39*16467b97STreehugger Robot
40*16467b97STreehugger Robott004:	t004.cpp t004lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
41*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
42*16467b97STreehugger Robot
43*16467b97STreehugger Robott005:	t005.cpp t005lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
44*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
45*16467b97STreehugger Robot
46*16467b97STreehugger Robott006:	t006.cpp t006lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
47*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
48*16467b97STreehugger Robot
49*16467b97STreehugger Robott007:	t007.cpp t007lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
50*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
51*16467b97STreehugger Robot
52*16467b97STreehugger Robott008:	t008.cpp t008lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
53*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
54*16467b97STreehugger Robot
55*16467b97STreehugger Robott009:	t009.cpp t009lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
56*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
57*16467b97STreehugger Robot
58*16467b97STreehugger Robott010:	t010.cpp t010lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
59*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
60*16467b97STreehugger Robot
61*16467b97STreehugger Robott011:	t011.cpp t011lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
62*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
63*16467b97STreehugger Robot
64*16467b97STreehugger Robott012:	t012.cpp t012lexerXMLLexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
65*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
66*16467b97STreehugger Robot
67*16467b97STreehugger Robott051:	t051.cpp t051lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
68*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
69*16467b97STreehugger Robot
70*16467b97STreehugger Robot# AST commented out
71*16467b97STreehugger Robot# t039:	t039.cpp t039labels.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
72*16467b97STreehugger Robot# 	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
73*16467b97STreehugger Robot#
74*16467b97STreehugger Robot# t042:	t042.cpp t005lexer.tokens UserTestTraits.hpp Makefile $(ANTLR) $(RUNTIME_HEADERS)
75*16467b97STreehugger Robot# 	g++ $(CFLAGS) -DUSESTL $(INCLUDES) $< $@?*.cpp -o $@
76*16467b97STreehugger Robot
77*16467b97STreehugger Robotclean:
78*16467b97STreehugger Robot	rm -f *.o t0[0-9][0-9]??*.[ch]pp *.tokens t[0-9][0-9][0-9] t0[0-9][0-9].exe
79*16467b97STreehugger Robot
80*16467b97STreehugger Robot# %.u: %.g
81*16467b97STreehugger Robot# 	@echo "Bulding dependencies for "$<
82*16467b97STreehugger Robot# 	java -jar $(ANTLR) -depend $< > $@
83*16467b97STreehugger Robot# 	@grep ":" $@ |awk 'BEGIN {printf "ANTLRGENLIST := " }{printf " " $$1}END {print ""}'  >> [email protected]
84*16467b97STreehugger Robot# 	@cat [email protected] >> $@
85*16467b97STreehugger Robot# 	$(RM) [email protected]
86*16467b97STreehugger Robot
87*16467b97STreehugger Robot%.tokens %.cpp %Lexer.c %Parser.c %Lexer.h %Parser.h %.hpp: %.g $(ANTLR)
88*16467b97STreehugger Robot	java -jar $(ANTLR) $(GRAMMAROPTIONS) $<
89*16467b97STreehugger Robot
90*16467b97STreehugger Robotifneq ($(MAKECMDGOALS),clean)
91*16467b97STreehugger Robotifneq ($(strip $(ANTLRGRAMMARS)),)
92*16467b97STreehugger Robot#-include $(ANTLRGRAMMARS:.g=.u)
93*16467b97STreehugger Robotendif
94*16467b97STreehugger Robotendif
95*16467b97STreehugger Robot
96*16467b97STreehugger Robot%.o: %.cpp $(HEADERS) utils.hpp
97*16467b97STreehugger Robot	g++ $(CFLAGS) -DUSESTL $(INCLUDES) -c $< -o $@
98