-
Notifications
You must be signed in to change notification settings - Fork 3
/
gen-vapigen.mk
26 lines (23 loc) · 1.05 KB
/
gen-vapigen.mk
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
extra-gen += vapigen
extra-flags += VAPIGEN_METADATADIRS VAPIGEN_VAPIDIRS
extra-flags += VAPIGEN_GIRDIRS VAPIGEN_DEPS
define vapigen_rule
$(OUTDIR)$(1): VAPIGEN_METADATADIRS = $(call getvar,$(1),VAPIGEN_METADATADIRS)
$(OUTDIR)$(1): VAPIGEN_VAPIDIRS = $(call getvar,$(1),VAPIGEN_VAPIDIRS)
$(OUTDIR)$(1): VAPIGEN_GIRDIRS = $(call getvar,$(1),VAPIGEN_GIRDIRS)
$(OUTDIR)$(1): VAPIGEN_DEPS = $(call getvar,$(1),VAPIGEN_DEPS)
$(OUTDIR)$(1): CMD = $(addprefix --directory=,$(OUTDIR)) \
$$(addprefix --metadatadir=,$$(VAPIGEN_METADATADIRS)) \
$$(addprefix --vapidir=,$$(VAPIGEN_VAPIDIRS)) \
$$(addprefix --girdir=,$$(VAPIGEN_GIRDIRS)) \
$$(addprefix --pkg=,$$(VAPIGEN_DEPS)) \
--library=$$(basename $(1))
$(OUTDIR)$(1): $(call getsrc,$(1))
$(OUTDIR)$(1): $(OUTDIR)$(call getcmdfile,$(1))
endef
define vapigen_recipe
$(addprefix $(OUTDIR),$(1)):
$$(call printcmd,VAPIGEN,$$@)
$$(Q)$$(VAPIGEN) $$(CMD) $$(filter-out %.cmd,$$^)
$$(QQ)touch $$@
endef