X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2FMakefile;h=8c6c426e26e3c619279a626ecd376e5576cf1aaf;hb=4a3b35137e700165754d61c4e791c0a8e51c770c;hp=4732a3a1db612b011c7df8c3093c1a3f5ba8b8d3;hpb=6198c62287d7a33cfade156f4405c82f0f2bae0a;p=palacios.git diff --git a/linux_module/Makefile b/linux_module/Makefile index 4732a3a..8c6c426 100644 --- a/linux_module/Makefile +++ b/linux_module/Makefile @@ -1,37 +1,70 @@ +include $(PWD)/../.config -LDFLAGS += --whole-archive --script=$(PWD)/link.cmd +LDFLAGS += --whole-archive --script=$(PWD)/ld.cmd -EXTRA_CFLAGS += -I$(PWD)/../palacios/include/ -DMODULE=1 -D__KERNEL__=1 +ifdef V3_CONFIG_SYMMOD +LDFLAGS += --script=$(PWD)/ld.symmod.cmd +endif +ifdef V3_CONFIG_CHECKPOINT +LDFLAGS += --script=$(PWD)/ld.chkpt.cmd +endif -v3vee-objs:= palacios.o \ - palacios-dev.o \ - palacios-vm.o \ - palacios-file.o \ - palacios-stream.o \ - palacios-console.o \ - palacios-mm.o \ - palacios-serial.o \ - palacios-queue.o \ - palacios-ringbuffer.o -# palacios-socket.o \ -# palacios-vnet.o \ -# palacios-packet.o \ -# palacios-hashtable.o +EXTRA_CFLAGS += -I$(PWD)/../palacios/include/ -include autoconf.h -DMODULE=1 -D__KERNEL__=1 -v3vee-objs += ../libv3vee.a +v3vee-y := palacios-stubs.o \ + main.o \ + vm.o \ + mm.o \ + allow_devmem.o \ + util-queue.o \ + util-hashtable.o \ + linux-exts.o \ + buddy.o \ + numa.o +v3vee-$(V3_CONFIG_CONSOLE) += iface-console.o +v3vee-$(V3_CONFIG_FILE) += iface-file.o +v3vee-$(V3_CONFIG_STREAM) += iface-stream.o \ + util-ringbuffer.o +v3vee-$(V3_CONFIG_EXT_INSPECTOR) += inspector.o +v3vee-$(V3_CONFIG_PACKET) += iface-packet.o +v3vee-$(V3_CONFIG_SOCKET) += iface-socket.o +v3vee-$(V3_CONFIG_KEYED_STREAMS) += iface-keyed-stream.o +v3vee-$(V3_CONFIG_HOST_DEVICE) += iface-host-dev.o +v3vee-$(V3_CONFIG_GRAPHICS_CONSOLE) += iface-graphics-console.o +v3vee-$(V3_CONFIG_EXT_MACH_CHECK) += mcheck.o -obj-m := v3vee.o +v3vee-$(V3_CONFIG_MEM_TRACK) += memtrack.o +v3vee-$(V3_CONFIG_HOST_PMU) += iface-pmu.o +v3vee-$(V3_CONFIG_HOST_PWRSTAT) += iface-pwrstat.o +v3vee-$(V3_CONFIG_VNET) += palacios-vnet.o \ + palacios-vnet-ctrl.o \ + palacios-vnet-brg.o -all: - $(MAKE) -C $(CONFIG_LINUX_KERN) M=$(PWD) modules +v3vee-$(V3_CONFIG_HOST_HYPERCALL) += iface-host-hypercall.o +v3vee-$(V3_CONFIG_EXT_CODE_INJECT) += iface-code-inject.o +v3vee-$(V3_CONFIG_EXT_ENV_INJECT) += iface-env-inject.o +v3vee-$(V3_CONFIG_EXT_SELECTIVE_SYSCALL_EXIT) += iface-syscall.o +v3vee-$(V3_CONFIG_EXT_GUARD_MODULES) += iface-guard-mods.o + + +v3vee-$(V3_CONFIG_HOST_PCI) += iface-host-pci.o + +v3vee-$(V3_CONFIG_DEBUG_LOCKS) += lockcheck.o +v3vee-$(V3_CONFIG_DEBUG_MEM_ALLOC) += memcheck.o +v3vee-objs := $(v3vee-y) ../libv3vee.a +obj-m := v3vee.o + + +all: + $(MAKE) -C $(V3_CONFIG_LINUX_KERN) M=$(PWD) modules clean: - $(MAKE) -C $(CONFIG_LINUX_KERN) M=$(PWD) clean + $(MAKE) -C $(V3_CONFIG_LINUX_KERN) M=$(PWD) clean