summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: b52b41d70f5473c875b57e2bd75561d6bcadefb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
GOBJECTS = $(GUILE_SOURCES:%.scm=%.go) $(JSON_SOURCES:%.cfn=%.go)

nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES)
nobase_go_DATA = $(GOBJECTS)

# Make sure source files are installed first, so that the mtime of
# installed compiled files is greater than that of installed source
# files.  See
# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
# for details.
guile_install_go_files = install-nobase_goDATA
$(guile_install_go_files): install-nobase_modDATA

CLEANFILES = $(GOBJECTS)
EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES)
GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
SUFFIXES = .scm .go .cfn
.scm.go:
	$(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"

.cfn.go:
	$(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) --from=cloudformation -o "$@" "$<"

moddir=$(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION)
godir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/ccache

GUILE_SOURCES = 				\
  aws/cloudformation/utils/base32.scm		\
  aws/cloudformation/utils/sha-1.scm		\
  aws/cloudformation/utils/json.scm		\
  aws/cloudformation/utils.scm			\
  aws/cloudformation/base.scm			\
  aws/cloudformation.scm			\
  language/cloudformation/spec.scm

JSON_SOURCES =	\
  aws/cloudformation/universal.cfn	\
  aws/cloudformation/ask.cfn	\
  aws/cloudformation/amazon-mq.cfn	\
  aws/cloudformation/api-gateway.cfn	\
  aws/cloudformation/app-stream.cfn	\
  aws/cloudformation/app-sync.cfn	\
  aws/cloudformation/application-auto-scaling.cfn	\
  aws/cloudformation/athena.cfn	\
  aws/cloudformation/auto-scaling.cfn	\
  aws/cloudformation/auto-scaling-plans.cfn	\
  aws/cloudformation/batch.cfn	\
  aws/cloudformation/budgets.cfn	\
  aws/cloudformation/certificate-manager.cfn	\
  aws/cloudformation/cloud9.cfn	\
  aws/cloudformation/cloud-formation.cfn	\
  aws/cloudformation/cloud-front.cfn	\
  aws/cloudformation/cloud-trail.cfn	\
  aws/cloudformation/cloud-watch.cfn	\
  aws/cloudformation/code-build.cfn	\
  aws/cloudformation/code-commit.cfn	\
  aws/cloudformation/code-deploy.cfn	\
  aws/cloudformation/code-pipeline.cfn	\
  aws/cloudformation/cognito.cfn	\
  aws/cloudformation/config.cfn	\
  aws/cloudformation/dax.cfn	\
  aws/cloudformation/dlm.cfn	\
  aws/cloudformation/dms.cfn	\
  aws/cloudformation/data-pipeline.cfn	\
  aws/cloudformation/directory-service.cfn	\
  aws/cloudformation/dynamo-db.cfn	\
  aws/cloudformation/ec2.cfn	\
  aws/cloudformation/ecr.cfn	\
  aws/cloudformation/ecs.cfn	\
  aws/cloudformation/efs.cfn	\
  aws/cloudformation/eks.cfn	\
  aws/cloudformation/emr.cfn	\
  aws/cloudformation/elasti-cache.cfn	\
  aws/cloudformation/elastic-beanstalk.cfn	\
  aws/cloudformation/elastic-load-balancing.cfn	\
  aws/cloudformation/elastic-load-balancing-v2.cfn	\
  aws/cloudformation/elasticsearch.cfn	\
  aws/cloudformation/events.cfn	\
  aws/cloudformation/game-lift.cfn	\
  aws/cloudformation/glue.cfn	\
  aws/cloudformation/guard-duty.cfn	\
  aws/cloudformation/iam.cfn	\
  aws/cloudformation/inspector.cfn	\
  aws/cloudformation/io-t.cfn	\
  aws/cloudformation/iot1-click.cfn	\
  aws/cloudformation/kms.cfn	\
  aws/cloudformation/kinesis.cfn	\
  aws/cloudformation/kinesis-analytics.cfn	\
  aws/cloudformation/kinesis-firehose.cfn	\
  aws/cloudformation/lambda.cfn	\
  aws/cloudformation/logs.cfn	\
  aws/cloudformation/neptune.cfn	\
  aws/cloudformation/ops-works.cfn	\
  aws/cloudformation/rds.cfn	\
  aws/cloudformation/redshift.cfn	\
  aws/cloudformation/route53.cfn	\
  aws/cloudformation/route53-resolver.cfn	\
  aws/cloudformation/s3.cfn	\
  aws/cloudformation/sdb.cfn	\
  aws/cloudformation/ses.cfn	\
  aws/cloudformation/sns.cfn	\
  aws/cloudformation/sqs.cfn	\
  aws/cloudformation/ssm.cfn	\
  aws/cloudformation/sage-maker.cfn	\
  aws/cloudformation/secrets-manager.cfn	\
  aws/cloudformation/service-catalog.cfn	\
  aws/cloudformation/service-discovery.cfn	\
  aws/cloudformation/step-functions.cfn	\
  aws/cloudformation/waf.cfn	\
  aws/cloudformation/waf-regional.cfn	\
  aws/cloudformation/work-spaces.cfn

SOURCES = $(GUILE_SOURCES) $(JSON_SOURCES)

aws/cloudformation/universal.cfn: split-spec.scm cloudformation-spec.json language/cloudformation/spec.scm
	./pre-inst-env $(GUILE) split-spec.scm