blob: 5c25e1ec6f498b0acb388343c16a83b269101c67 [file] [log] [blame]
Damjan Marion7cd468a2016-12-19 23:05:39 +01001# Copyright (c) 2015 Cisco and/or its affiliates.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14bin_PROGRAMS += vppapigen
15
Damjan Marion0be5ec32016-12-28 17:51:56 +010016# We cannot rely on BUILT_SOURCES here as other built sources are relying
17# on vppapigen, so make can start compiling lex.c before gram.h is created.
18# This way we introduce new dependency by running C preprocessor.
Damjan Marion7cd468a2016-12-19 23:05:39 +010019
Damjan Marion0be5ec32016-12-28 17:51:56 +010020tools/vppapigen/lex_e.c: tools/vppapigen/lex.c tools/vppapigen/gram.y
Damjan Marioncb034b92016-12-28 18:38:59 +010021 @$(YACC) -d @srcdir@/tools/vppapigen/gram.y
22 @mv y.tab.h tools/vppapigen/gram.h
23 @rm y.tab.c
Damjan Marion0be5ec32016-12-28 17:51:56 +010024 @$(CC) -I. -E -o $@ $<
Damjan Marion7cd468a2016-12-19 23:05:39 +010025
Damjan Marion0be5ec32016-12-28 17:51:56 +010026vppapigen_SOURCES = tools/vppapigen/gram.y tools/vppapigen/lex_e.c tools/vppapigen/node.c
Damjan Marion7cd468a2016-12-19 23:05:39 +010027vppapigen_LDADD = libvppinfra.la
28vppapigen_LDFLAGS = -static
29
Burt Silverman006eb472017-01-27 15:29:54 -050030CLEANFILES += tools/vppapigen/gram.c tools/vppapigen/gram.h
31CLEANFILES += tools/vppapigen/lex_e.c
Damjan Marion7cd468a2016-12-19 23:05:39 +010032# vi:syntax=automake