summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/Make.am85
1 files changed, 41 insertions, 44 deletions
diff --git a/src/Make.am b/src/Make.am
index 5199991..9a67037 100644
--- a/src/Make.am
+++ b/src/Make.am
@@ -1,8 +1,8 @@
# This file is part of grecs - Gray's Extensible Configuration System
-# Copyright (C) 2007-2019 Sergey Poznyakoff
+# Copyright (C) 2007-2020 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.
#
@@ -12,49 +12,26 @@
# 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
+BUILT_SOURCES = grecs-gram.h
+EXTRA_DIST=\
+ $(PP_SETUP_FILE)\
+ Make.am Make-inst.am Make-shared.am Make-static.am
GRECS_SRC = \
asprintf.c\
assert.c\
cidr.c\
diag.c\
format.c\
grecs-gram.y\
grecs-lex.l\
+ grecs-gram.h\
ipstr.c\
join.c\
lineacc.c\
list.c\
lookup.c\
mem.c\
@@ -65,35 +42,55 @@ GRECS_SRC = \
preproc.c\
sort.c\
symtab.c\
text.c\
tree.c\
txtacc.c\
- version.c\
- $(GRECS_JSON)\
- $(GRECS_PARSER_BIND)\
- $(GRECS_PARSER_DHCPD)\
- $(GRECS_PARSER_GIT)\
- $(GRECS_PARSER_META1)
+ version.c
+
+grecs-gram.h: grecs-gram.c
+
+if GRECS_COND_META1_PARSER
+ GRECS_SRC += meta1-gram.y meta1-lex.l meta1-gram.h
+ BUILT_SOURCES += meta1-gram.h
+ PARSER_DEFS += -DENABLE_META1_PARSER
+meta1-gram.h: meta1-gram.c
+endif
+
+if GRECS_COND_BIND_PARSER
+ GRECS_SRC += bind-gram.y bind-lex.l bind-gram.h
+ BUILT_SOURCES += bind-gram.h
+ PARSER_DEFS += -DENABLE_BIND_PARSER
+bind-gram.h: bind-gram.c
+endif
+
+if GRECS_COND_DHCPD_PARSER
+ GRECS_SRC += dhcpd-gram.y dhcpd-lex.l dhcpd-gram.h
+ BUILT_SOURCES += dhcpd-gram.h
+ PARSER_DEFS += -DENABLE_DHCPD_PARSER
+dhcpd-gram.h: dhcpd-gram.c
+endif
+
+if GRECS_COND_GIT_PARSER
+ GRECS_SRC += git-parser.c
+ PARSER_DEFS += -DENABLE_GIT_PARSER
+endif
+
+if GRECS_COND_JSON
+ GRECS_SRC += json-gram.y json-lex.l jsonfmt.c json-gram.h
+ BUILT_SOURCES += json-gram.h
+json-gram.h: json-gram.c
+endif
VPATH += $(top_srcdir)/@GRECS_SUBDIR@/wordsplit
NODIST_GRECS_SRC = wordsplit.c
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)

Return to:

Send suggestions and report system problems to the System administrator.