X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2FMakefile;h=d89f187cc8a75475ea144ac3eacd45762e7ae090;hb=2cb41f7db5b9f89113432d6b3daff4807ba8e5f2;hp=92cb3186404c5a7394c21447350d8ff6891417e0;hpb=ed4aa27a4901310df5fa1127ad62645da1bb4802;p=palacios.git diff --git a/linux_module/Makefile b/linux_module/Makefile index 92cb318..d89f187 100644 --- a/linux_module/Makefile +++ b/linux_module/Makefile @@ -1,35 +1,71 @@ +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 +EXTRA_CFLAGS += -I$(PWD)/../palacios/include/ -include autoconf.h -DMODULE=1 -D__KERNEL__=1 -#palacios-socket.o -#palacios-vnet.o palacios-packet.o -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_HOST_PSTATE_CTRL) += iface-pstate-ctrl.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