# # Makefile for MARS # # remove_this 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 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_light/light_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_light/light_strategy.o \ mars_light/light_net.o \ mars_light/mars_proc.o \ mars_light/mars_light.o