Commit dcaf616c authored by Dridi Boukelmoune's avatar Dridi Boukelmoune

build: Centralize suffix .c.vsc make rules

The new vsc.am file takes care of most of the logic, and include sites
only need to reference sources as such.
parent f32bc1d0
...@@ -26,6 +26,7 @@ EXTRA_DIST = \ ...@@ -26,6 +26,7 @@ EXTRA_DIST = \
varnishapi.pc.in \ varnishapi.pc.in \
varnish.m4 \ varnish.m4 \
varnish-legacy.m4 \ varnish-legacy.m4 \
vsc.am \
vtc.am \ vtc.am \
wflags.py wflags.py
......
# #
include $(top_srcdir)/vsc.am
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-I$(top_srcdir)/include \ -I$(top_srcdir)/include \
-I$(top_builddir)/include -I$(top_builddir)/include
...@@ -14,19 +16,7 @@ VSC_SRC = \ ...@@ -14,19 +16,7 @@ VSC_SRC = \
VSC_smu.vsc \ VSC_smu.vsc \
VSC_vbe.vsc VSC_vbe.vsc
VSC_GEN_C = $(VSC_SRC:.vsc=.c)
VSC_GEN_H = $(VSC_SRC:.vsc=.h)
$(VSC_GEN_C): vsctool.py
.vsc.c:
$(PYTHON) $(srcdir)/vsctool.py -ch $<
noinst_LTLIBRARIES = libvsc.la noinst_LTLIBRARIES = libvsc.la
libvsc_la_SOURCES = $(VSC_SRC) libvsc_la_SOURCES = $(VSC_SRC)
dist_pkgdata_SCRIPTS = \ dist_pkgdata_SCRIPTS = vsctool.py
vsctool.py
BUILT_SOURCES = $(VSC_GEN_C)
CLEANFILES = $(VSC_GEN_C) $(VSC_GEN_H)
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
TESTS = @VMOD_TESTS@ TESTS = @VMOD_TESTS@
include $(top_srcdir)/vsc.am
include $(top_srcdir)/vtc.am include $(top_srcdir)/vtc.am
EXTRA_DIST = $(TESTS) EXTRA_DIST = $(TESTS)
...@@ -36,18 +37,9 @@ include $(srcdir)/automake_boilerplate_vtc.am ...@@ -36,18 +37,9 @@ include $(srcdir)/automake_boilerplate_vtc.am
# Post-boilerplate tweaks # Post-boilerplate tweaks
# #
.vsc.c: $(top_srcdir)/lib/libvsc/vsctool.py VSC_SRC = VSC_debug.vsc
$(PYTHON) $(top_srcdir)/lib/libvsc/vsctool.py -c $<
.vsc.h: $(top_srcdir)/lib/libvsc/vsctool.py libvmod_debug_la_SOURCES += $(VSC_SRC)
$(PYTHON) $(top_srcdir)/lib/libvsc/vsctool.py -h $<
EXTRA_DIST += VSC_debug.vsc
nodist_libvmod_debug_la_SOURCES += \
VSC_debug.c \
VSC_debug.h
vmod_debug.c: VSC_debug.c VSC_debug.h
# Allow Vmod_wrong*_Data to be exported # Allow Vmod_wrong*_Data to be exported
vmod_debug_symbols_regex = 'Vmod_.*_Data' vmod_debug_symbols_regex = 'Vmod_.*_Data'
......
# Generic rule to generate C code from VSC files. VSC files must be listed
# in the $(VSC_SRC) variable.
VSC_GEN = $(VSC_SRC:.vsc=.c) $(VSC_SRC:.vsc=.h)
$(VSC_GEN): $(top_srcdir)/lib/libvsc/vsctool.py
.vsc.c:
$(AM_V_GEN) $(PYTHON) $(top_srcdir)/lib/libvsc/vsctool.py -ch $<
clean-local: vsc-clean
vsc-clean:
rm -f $(VSC_GEN)
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
VTC_LOG_COMPILER = $(top_builddir)/bin/varnishtest/varnishtest -v -i VTC_LOG_COMPILER = $(top_builddir)/bin/varnishtest/varnishtest -v -i
TEST_EXTENSIONS = .vtc TEST_EXTENSIONS = .vtc
check-am: vtc-check-tests check-local: vtc-check-tests
vtc-check-tests: vtc-check-tests:
@mkdir -p tests ; \ @mkdir -p tests ; \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment