|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] build/rules: M4 macro processor support
Hi Simon,
The patch looks good, thanks.
-- Felipe
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>
On 10.05.19, 17:55, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx> wrote:
Adds a pre-processing rule generator for M4 macro processor
files (`.m4` extension).
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
Makefile | 1 +
Makefile.uk | 2 ++
support/build/Makefile.rules | 19 ++++++++++++++++++-
3 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index f0d1ad47..5846a772 100644
--- a/Makefile
+++ b/Makefile
@@ -440,6 +440,7 @@ READELF := $(CONFIG_CROSS_COMPILE)readelf
STRIP := $(CONFIG_CROSS_COMPILE)strip
OBJCOPY := $(CONFIG_CROSS_COMPILE)objcopy
OBJDUMP := $(CONFIG_CROSS_COMPILE)objdump
+M4 := m4
AR := ar
CAT := cat
SED := sed
diff --git a/Makefile.uk b/Makefile.uk
index c7a08fb0..50dff8d2 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -62,6 +62,8 @@ CFLAGS += -DUK_FULLVERSION=$(UK_FULLVERSION)
CXXFLAGS += -D __Unikraft__ -DUK_CODENAME="$(UK_CODENAME)"
CXXFLAGS += -DUK_VERSION=$(UK_VERSION).$(UK_SUBVERSION)
CXXFLAGS += -DUK_FULLVERSION=$(UK_FULLVERSION)
+M4FLAGS += -D __Unikraft__ -DUK_CODENAME="$(UK_CODENAME)"
+M4FLAGS += -DUK_VERSION=$(UK_VERSION).$(UK_SUBVERSION)
# If GCC supports "-no-pie" flag, we will add this flag to link flags to
# override "pie" option, because some distributions will set
diff --git a/support/build/Makefile.rules b/support/build/Makefile.rules
index 8579cf7d..3de13b66 100644
--- a/support/build/Makefile.rules
+++ b/support/build/Makefile.rules
@@ -462,12 +462,29 @@ endef
#
# preprule_* $libname,$source,$preptarget,$extraflags(optional)
+define preprule_m4 =
+$(3): $(2) | prepare
+ $(call build_cmd,M4,$(1),$(3),\
+ $(M4) $(M4INCLUDES) $(M4INCLUDES-y) \
+ $($(call vprefix_lib,$(1),M4INCLUDES)) $($(call
vprefix_lib,$(1),M4INCLUDES-y)) \
+ $(M4FLAGS) $(M4FLAGS-y) \
+ $($(call vprefix_lib,$(1),M4FLAGS)) $($(call
vprefix_lib,$(1),M4FLAGS-y)) \
+ $(4) \
+ $(2) > $(3)
+ )
+
+UK_SRCS-y += $(2)
+$(eval $(call vprefix_lib,$(1),CLEAN-y) += $(call build_clean,$(3)))
+endef
+
# wrapper for preprule_*,
# selects appropriate pre-process rule depending on file extension
#
# preprule $libname,$source,$preptarget,$extraflags(optional)
define preprule =
-$(error $(3): missing pre-processing rule for source type $(suffix $(2)))
+$(if $(filter %.m4 ,$(2)),$(call preprule_m4 ,$(1),$(2),$(3),$(4)),\
+$(error $(3): missing pre-processing rule for source type $(suffix $(2))) \
+)
endef
--
2.20.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |