X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2FMakefile;h=86abff61274e37d4f33449eaac31297588925d13;hb=da0b4bb80de755529f47b9ca57ccb0c2cefae15b;hp=f20fb08bfe9cf4f3a14260028e52b03bf7780ef4;hpb=467878dcf7ccb6248c83483e01360b0ffdc83dc0;p=palacios.git diff --git a/linux_module/Makefile b/linux_module/Makefile index f20fb08..86abff6 100644 --- a/linux_module/Makefile +++ b/linux_module/Makefile @@ -1,44 +1,72 @@ +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-debugfs.o +EXTRA_CFLAGS += -I$(PWD)/../palacios/include/ -include autoconf.h -DMODULE=1 -D__KERNEL__=1 -ifdef CONFIG_PALACIOS_VNET - v3vee-objs += palacios-vnet.o -endif -ifdef CONFIG_PALACIOS_PACKET - v3vee-objs += palacios-packet.o -endif -ifdef CONFIG_PALACIOS_SOCKET - v3vee-objs += palacios-socket.o -endif -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 +v3vee-$(V3_CONFIG_MEM_TRACK) += memtrack.o -obj-m := v3vee.o +v3vee-$(V3_CONFIG_CACHE_INFO) += iface-cache_info.o +v3vee-$(V3_CONFIG_HOST_PMU) += iface-pmu.o +v3vee-$(V3_CONFIG_HOST_PWRSTAT) += iface-pwrstat.o +v3vee-$(V3_CONFIG_HOST_PSTATE_CTRL) += iface-pstate-ctrl.o +v3vee-$(V3_CONFIG_VNET) += palacios-vnet.o \ + palacios-vnet-ctrl.o \ + palacios-vnet-brg.o +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 -all: - $(MAKE) -C $(CONFIG_LINUX_KERN) M=$(PWD) modules +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