X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2FMakefile;h=d89f187cc8a75475ea144ac3eacd45762e7ae090;hb=2cb41f7db5b9f89113432d6b3daff4807ba8e5f2;hp=55eb19909f63783ca959682a7d1b28085a1ebcf1;hpb=260bb3e805ebc92ae294c3c2b36d027ba8bca488;p=palacios.git diff --git a/linux_module/Makefile b/linux_module/Makefile index 55eb199..d89f187 100644 --- a/linux_module/Makefile +++ b/linux_module/Makefile @@ -1,33 +1,71 @@ -KERNELDIR := ../../linux-2.6.32.y/ -CONFIG_PALACIOS_PATH := /home/jarusl/palacios +include $(PWD)/../.config +LDFLAGS += --whole-archive --script=$(PWD)/ld.cmd +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 +EXTRA_CFLAGS += -I$(PWD)/../palacios/include/ -include autoconf.h -DMODULE=1 -D__KERNEL__=1 -v3vee-objs += ../../palacios/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 -obj-m := v3vee.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 -LDFLAGS = --whole-archive --script=$(PWD)/link.cmd +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 -EXTRA_CFLAGS := -I$(CONFIG_PALACIOS_PATH)/palacios/include/ -DMODULE=1 -D__KERNEL__=1 +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 -all: - $(MAKE) -C $(KERNELDIR) M=$(PWD) modules +v3vee-$(V3_CONFIG_DEBUG_LOCKS) += lockcheck.o +v3vee-$(V3_CONFIG_DEBUG_MEM_ALLOC) += memcheck.o -clean: - $(MAKE) -C $(KERNELDIR) M=$(PWD) clean +v3vee-objs := $(v3vee-y) ../libv3vee.a +obj-m := v3vee.o -install: - $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install /sbin/ -ae + +all: + $(MAKE) -C $(V3_CONFIG_LINUX_KERN) M=$(PWD) modules + +clean: + $(MAKE) -C $(V3_CONFIG_LINUX_KERN) M=$(PWD) clean