X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/548e1026e37d594fd71da405d37b7a058bf49c89..2f6364dfe454d3fe21cf98854ac8942870e52436:/orc.mak diff --git a/orc.mak b/orc.mak index 90d403a5..a1069a71 100644 --- a/orc.mak +++ b/orc.mak @@ -1,35 +1,34 @@ # -# This is a makefile.am fragment to build Orc code. +# This is a Makefile.am fragment to build Orc code. It is based +# on the orc.mak file distributed in the GStreamer common +# repository. # -# Define ORC_SOURCE and then include this file, such as: +# Include this file like this: # -# ORC_SOURCE=gstadderorc -# include $(top_srcdir)/common/orc.mak +# include $(top_srcdir)/orc.mak # -# This fragment will create tmp-orc.c and gstadderorc.h from -# gstadderorc.orc. +# For each Orc source file, append its name (without the extension) +# to ORC_SOURCE: # -# When 'make dist' is run at the top level, or 'make orc-update' -# in a directory including this fragment, the generated source -# files will be copied to $(ORC_SOURCE)-dist.[ch]. These files -# should be checked in to git, since they are used if Orc is -# disabled. +# ORC_SOURCE += gstadderorc # -# Note that this file defines BUILT_SOURCES, so any later usage -# of BUILT_SOURCES in the Makefile.am that includes this file -# must use '+='. +# This will create gstadder-orc-gen.c and gstadder-orc-gen.h, which +# you need to add to your nodist_module_SOURCES. +# +# Note that this file appends to BUILT_SOURCES and CLEANFILES, so +# define them before including this file. # -EXTRA_DIST += $(ORC_SOURCE).orc +EXTRA_DIST += $(addsuffix .orc,$(ORC_SOURCE)) -ORC_NODIST_SOURCES = tmp-orc.c $(ORC_SOURCE).h -BUILT_SOURCES += tmp-orc.c $(ORC_SOURCE).h +if HAVE_ORC +ORC_BUILT_SOURCE = $(addsuffix -orc-gen.c,$(ORC_SOURCE)) +ORC_BUILT_HEADER = $(addsuffix -orc-gen.h,$(ORC_SOURCE)) +BUILT_SOURCES += $(ORC_BUILT_SOURCE) $(ORC_BUILT_HEADER) +CLEANFILES += $(BUILT_SOURCES) -orc-update: tmp-orc.c $(ORC_SOURCE).h - cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c - cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h orcc_v_gen = $(orcc_v_gen_$(V)) orcc_v_gen_ = $(orcc_v_gen_$(AM_DEFAULT_VERBOSITY)) @@ -39,34 +38,11 @@ cp_v_gen = $(cp_v_gen_$(V)) cp_v_gen_ = $(cp_v_gen_$(AM_DEFAULT_VERBOSITY)) cp_v_gen_0 = @echo " CP $@"; -if HAVE_ORC -tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc - $(orcc_v_gen)$(ORCC) --implementation -o $(builddir)/tmp-orc.c $(srcdir)/$(ORC_SOURCE).orc - -$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc - mkdir -p $$(dirname $(builddir)/$(ORC_SOURCE).h) - $(orcc_v_gen)$(ORCC) --header -o $(builddir)/$(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE).orc -else -tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc - $(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.c tmp-orc.c +%-orc-gen.c: %.orc + @mkdir -p $(@D) + $(orcc_v_gen)$(ORCC) --implementation -o $@ $< -$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc - $(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.h $(ORC_SOURCE).h +%-orc-gen.h: %.orc + @mkdir -p $(@D) + $(orcc_v_gen)$(ORCC) --header -o $@ $< endif - -clean-local: clean-orc -.PHONY: clean-orc -clean-orc: - rm -f tmp-orc.c $(ORC_SOURCE).h - -dist-hook: dist-hook-orc -.PHONY: dist-hook-orc -dist-hook-orc: tmp-orc.c $(ORC_SOURCE).h - rm -f tmp-orc.c~ - cmp -s tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c || \ - cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c - cmp -s $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h || \ - cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h - mkdir -p $$(dirname $(ORC_SOURCE)) - cp -p $(srcdir)/$(ORC_SOURCE)-dist.c $(distdir)/$$(dirname $(ORC_SOURCE)) - cp -p $(srcdir)/$(ORC_SOURCE)-dist.h $(distdir)/$$(dirname $(ORC_SOURCE))