1# 2# tools/xl/Makefile 3# 4 5XEN_ROOT = $(CURDIR)/../.. 6include $(XEN_ROOT)/tools/Rules.mk 7 8CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \ 9 -Wno-declaration-after-statement -Wformat-nonliteral 10CFLAGS += -I. -fPIC 11 12CFLAGS += $(PTHREAD_CFLAGS) 13LDFLAGS += $(PTHREAD_LDFLAGS) 14 15CFLAGS_XL += $(CFLAGS_libxenlight) 16CFLAGS_XL += -Wshadow 17 18XL_OBJS-$(CONFIG_X86) = xl_psr.o 19XL_OBJS = xl.o xl_cmdtable.o xl_sxp.o xl_utils.o $(XL_OBJS-y) 20XL_OBJS += xl_tmem.o xl_parse.o xl_cpupool.o xl_flask.o 21XL_OBJS += xl_vtpm.o xl_block.o xl_nic.o xl_usb.o 22XL_OBJS += xl_sched.o xl_pci.o xl_vcpu.o xl_cdrom.o xl_mem.o 23XL_OBJS += xl_info.o xl_console.o xl_misc.o 24XL_OBJS += xl_vmcontrol.o xl_saverestore.o xl_migrate.o 25XL_OBJS += xl_vdispl.o 26 27$(XL_OBJS): CFLAGS += $(CFLAGS_libxentoollog) 28$(XL_OBJS): CFLAGS += $(CFLAGS_XL) 29$(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it. 30 31genpath-target = $(call buildmakevars2header,_paths.h) 32$(eval $(genpath-target)) 33 34$(XL_OBJS): _paths.h 35 36.PHONY: all 37all: xl 38 39xl: $(XL_OBJS) 40 $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxlutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) -lyajl $(APPEND_LDFLAGS) 41 42.PHONY: install 43install: all 44 $(INSTALL_DIR) $(DESTDIR)$(sbindir) 45 $(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR) 46 $(INSTALL_PROG) xl $(DESTDIR)$(sbindir) 47 $(INSTALL_DATA) bash-completion $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh 48 49.PHONY: uninstall 50uninstall: 51 rm -f $(DESTDIR)$(BASH_COMPLETION_DIR)/xl.sh 52 rm -f $(DESTDIR)$(sbindir)/xl 53 54.PHONY: clean 55clean: 56 $(RM) -f *.o xl _paths.h $(DEPS_RM) 57 58distclean: clean 59 60 61-include $(DEPS_INCLUDE) 62