mars/kernel/Makefile

62 lines
1.5 KiB
Makefile

#
# 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