# This file is part of grecs - Gray's Extensible Configuration System
# Copyright (C) 2007-2016 Sergey Poznyakoff
#
# Grecs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# Grecs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Grecs.  If not, see <http://www.gnu.org/licenses/>.

PARSER_DEFS =

if GRECS_COND_META1_PARSER
  GRECS_PARSER_META1 = meta1-gram.y meta1-lex.l
  GRECS_EXTRA_META1 = meta1-gram.h
  PARSER_DEFS += -DENABLE_META1_PARSER
endif

if GRECS_COND_BIND_PARSER
  GRECS_PARSER_BIND = bind-gram.y bind-lex.l
  GRECS_EXTRA_BIND = bind-gram.h
  PARSER_DEFS += -DENABLE_BIND_PARSER
endif

if GRECS_COND_DHCPD_PARSER
  GRECS_PARSER_DHCPD = dhcpd-gram.y dhcpd-lex.l
  GRECS_EXTRA_DHCPD = dhcpd-gram.h
  PARSER_DEFS += -DENABLE_DHCPD_PARSER
endif  

if GRECS_COND_GIT_PARSER
  GRECS_PARSER_GIT = git-parser.c
  PARSER_DEFS += -DENABLE_GIT_PARSER 
endif

if GRECS_COND_JSON
  GRECS_JSON = json-gram.y json-lex.l jsonfmt.c
  GRECS_EXTRA_JSON = json-gram.h
endif

GRECS_SRC = \
 asprintf.c\
 cidr.c\
 diag.c\
 format.c\
 grecs-gram.y\
 grecs-lex.l\
 ipstr.c\
 join.c\
 lineacc.c\
 list.c\
 lookup.c\
 mem.c\
 opthelp.c\
 parser.c\
 parsertab.c\
 path-parser.c\
 preproc.c\
 sort.c\
 symtab.c\
 text.c\
 tree.c\
 txtacc.c\
 version.c\
 wordsplit.c\
 $(GRECS_JSON)\
 $(GRECS_PARSER_BIND)\
 $(GRECS_PARSER_DHCPD)\
 $(GRECS_PARSER_GIT)\
 $(GRECS_PARSER_META1)

if GRECS_COND_SOCKADDR_LIST
  GRECS_SRC += sockaddr.c
endif  
 
EXTRA_DIST=\
 grecs-gram.h\
 $(GRECS_EXTRA_BIND)\
 $(GRECS_EXTRA_DHCPD)\
 $(GRECS_EXTRA_JSON)\
 $(GRECS_EXTRA_META1)\
 $(PP_SETUP_FILE)\
 Make.am Make-inst.am Make-shared.am Make-static.am

AM_CPPFLAGS = \
 -I$(srcdir)\
 -I$(top_srcdir)/@GRECS_SUBDIR@\
 @GRECS_INCLUDES@\
 @GRECS_HOST_PROJECT_INCLUDES@\
 $(PARSER_DEFS)
AM_YFLAGS = -dtv
AM_LFLAGS = -d

incdir=$(pkgdatadir)/$(VERSION)/include
inc_DATA = $(PP_SETUP_FILE)

LEXCOMPILE = $(top_srcdir)/@GRECS_SUBDIR@/build-aux/yyrename '$(LEX) $(LFLAGS) $(AM_LFLAGS)'
YACCCOMPILE = $(top_srcdir)/@GRECS_SUBDIR@/build-aux/yyrename '$(YACC) $(YFLAGS) $(AM_YFLAGS)'




