[RFC 30/32] mars: add new module Makefile

From: Thomas Schoebel-Theuer
Date: Fri Dec 30 2016 - 17:58:48 EST


Signed-off-by: Thomas Schoebel-Theuer <tst@xxxxxxxxxxxxxxxxxx>
---
drivers/staging/mars/Makefile | 96 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
create mode 100644 drivers/staging/mars/Makefile

diff --git a/drivers/staging/mars/Makefile b/drivers/staging/mars/Makefile
new file mode 100644
index 000000000000..5e94c3c692c2
--- /dev/null
+++ b/drivers/staging/mars/Makefile
@@ -0,0 +1,96 @@
+#
+# Makefile for MARS
+#
+
+# remove_this
+#
+# TST: this was required by some sysadmins some years ago for
+# very 1&1-specific OOT Debian build methods.
+# Not tested in other environments. Might need some tweaks, or could
+# be removed in the long term.
+#
+ifndef CONFIG_MARS
+# mars_config.h is generated by a simple Kconfig parser (gen_config.pl)
+# at build time.
+# It does not respect any Kconfig dependencies.
+# Therefore, it is unsafe. Use at your own risk!
+# It is ONLY used for out-of-tree builds.
+#
+CONFIG_MARS_BIGMODULE := m
+CONFIG_MARS_NET_COMPAT := y
+obj-$(CONFIG_MARS_BIGMODULE) += mars.o
+extra-y += mars_config.h
+GEN_CONFIG_SCRIPT := $(src)/../scripts/gen_config.pl
+$(obj)/mars_config.h: $(obj)/buildtag.h
+$(obj)/mars_config.h: $(src)/Kconfig $(GEN_CONFIG_SCRIPT)
+ $(Q)$(kecho) "MARS: using compiler $($(CC) --version | head -1)"
+ $(CC) -v
+ $(Q)$(kecho) "MARS: Generating $@"
+ $(Q)set -e; \
+ if [ ! -x $(GEN_CONFIG_SCRIPT) ]; then \
+ $(kecho) "MARS: cannot execute script $(GEN_CONFIG_SCRIPT)"; \
+ /bin/false; \
+ fi; \
+ cat $< | $(GEN_CONFIG_SCRIPT) > $@;
+ cat $@;
+endif
+# end_remove_this
+
+obj-$(CONFIG_MARS) += mars.o
+
+KBUILD_CFLAGS += -fdelete-null-pointer-checks
+
+# remove_this
+# The following is 1&1 specific. Don't use anywhere else.
+ifneq ($(KBUILD_EXTMOD),)
+ CONFIG_MARS := m
+# mars_config.h is generated by a simple Kconfig parser (gen_config.pl)
+# at build time.
+# It does not respect any Kconfig dependencies.
+# Therefore, it is unsafe. Use at your own risk!
+# It is ONLY used for out-of-tree builds.
+#
+extra-y += mars_config.h
+GEN_CONFIG_SCRIPT := $(src)/../scripts/gen_config.pl
+$(obj)/mars_config.h: $(obj)/buildtag.h
+$(obj)/mars_config.h: $(src)/Kconfig $(GEN_CONFIG_SCRIPT)
+ $(Q)$(kecho) "MARS: using compiler $($(CC) --version | head -1)"
+ $(CC) -v
+ $(Q)$(kecho) "MARS: Generating $@"
+ $(Q)set -e; \
+ if [ ! -x $(GEN_CONFIG_SCRIPT) ]; then \
+ $(kecho) "MARS: cannot execute script $(GEN_CONFIG_SCRIPT)"; \
+ /bin/false; \
+ fi; \
+ cat $< | $(GEN_CONFIG_SCRIPT) > $@;
+ cat $@;
+endif
+# end_remove_this
+
+obj-$(CONFIG_MARS) += mars.o
+
+mars-objs := \
+ lamport.o \
+ brick_say.o \
+ brick_mem.o \
+ brick.o \
+ xio_bricks/xio.o \
+ xio_bricks/lib_log.o \
+ lib/lib_rank.o \
+ lib/lib_limiter.o \
+ lib/lib_timing.o \
+ xio_bricks/lib_mapfree.o \
+ xio_bricks/xio_net.o \
+ mars/server_strategy.o \
+ xio_bricks/xio_server.o \
+ xio_bricks/xio_client.o \
+ xio_bricks/xio_sio.o \
+ xio_bricks/xio_bio.o \
+ xio_bricks/xio_if.o \
+ xio_bricks/xio_copy.o \
+ xio_bricks/xio_trans_logger.o \
+ mars/main_strategy.o \
+ mars/net.o \
+ mars/mars_proc.o \
+ mars/mars_main.o
+
--
2.11.0