From: James Mckenzie Date: Tue, 12 Jan 2010 16:57:46 +0000 (+0000) Subject: Tidy up tboot.mk, and move Christian's patch into something that can be sent upstream X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=d77efbb1ec294c2cf1f12d7247012dedfb77df97;p=xenclient%2Fbuild.git Tidy up tboot.mk, and move Christian's patch into something that can be sent upstream --- diff --git a/package/xenclient/tboot/tboot-broken-makefile.patch b/package/xenclient/tboot/tboot-broken-makefile.patch new file mode 100644 index 0000000..12503ec --- /dev/null +++ b/package/xenclient/tboot/tboot-broken-makefile.patch @@ -0,0 +1,13 @@ +Index: tboot-snapshot-cs182/lcptools/Makefile +=================================================================== +--- tboot-snapshot-cs182.orig/lcptools/Makefile 2010-01-12 15:03:44.000000000 +0000 ++++ tboot-snapshot-cs182/lcptools/Makefile 2010-01-12 15:03:59.000000000 +0000 +@@ -31,7 +31,7 @@ + # universal rules + # + +-build : -ltspi $(TPMNV_TARGETS) $(LCP_TARGETS) ++build : $(TPMNV_TARGETS) $(LCP_TARGETS) + + + dist : install diff --git a/package/xenclient/tboot/tboot.mk b/package/xenclient/tboot/tboot.mk index c065ba2..24fe6c3 100644 --- a/package/xenclient/tboot/tboot.mk +++ b/package/xenclient/tboot/tboot.mk @@ -7,42 +7,42 @@ XENCLIENT_TBOOT_SITE:=http://xenbits.xen.org/xenclient/download XENCLIENT_TBOOT_VERSION:=cs182 XENCLIENT_TBOOT_SOURCE:=tboot-snapshot-$(XENCLIENT_TBOOT_VERSION).tar.gz XENCLIENT_TBOOT_REPO:=$(REPO_DIR)/tboot.hg +XENCLIENT_TBOOT_PATCH_STAMP:=$(XENCLIENT_TBOOT_REPO)/patch.stamp XENCLIENT_TBOOT_DIR:=$(BUILD_DIR)/tboot-snapshot-$(XENCLIENT_TBOOT_VERSION) +XENCLIENT_TBOOT_DIR_STAMP:=$(XENCLIENT_TBOOT_DIR)/dir-stamp XENCLIENT_TBOOT_BOOT:=$(TARGET_DIR)/boot XENCLIENT_TBOOT_BINARY:=tboot/tboot.gz XENCLIENT_TBOOT_TARGET_BINARY:=boot/tboot.gz XENCLIENT_TBOOT_TOOLS_INC:=-I$(STAGING_DIR)/usr/include -XENCLIENT_TBOOT_TOOLS_BINARY:=tb_polgen/tb_polgen -XENCLIENT_TBOOT_TOOLS_TARGET_BINARY:=usr/bin/tb_polgen -XENCLIENT_TBOOT_TOOLS_FILES:=/lcptools/lcp_\* \ - /lcptools/tpmnv_\* \ - /tb_polgen/tb_polgen +XENCLIENT_TBOOT_TOOLS_STAMP:=$(XENCLIENT_TBOOT_DIR)/tools.stamp +XENCLIENT_TBOOT_TOOLS_INSTALL_STAMP:=$(PROJECT_BUILD_DIR)/tboot_tools_target_installed ### tboot $(DL_DIR)/$(XENCLIENT_TBOOT_SOURCE): $(WGET) -P $(DL_DIR) $(XENCLIENT_TBOOT_SITE)/$(XENCLIENT_TBOOT_SOURCE) -$(XENCLIENT_TBOOT_REPO): $(DL_DIR)/$(XENCLIENT_TBOOT_SOURCE) +$(XENCLIENT_TBOOT_PATCH_STAMP): $(DL_DIR)/$(XENCLIENT_TBOOT_SOURCE) $(ZCAT) $(DL_DIR)/$(XENCLIENT_TBOOT_SOURCE) | tar -C $(REPO_DIR) $(TAR_OPTIONS) - toolchain/patch-kernel.sh $(XENCLIENT_TBOOT_REPO) package/xenclient/tboot tboot\*.patch touch $@ -xenclient-tboot-unpacked: $(XENCLIENT_TBOOT_REPO) +xenclient-tboot-unpacked: $(XENCLIENT_TBOOT_PATCH_STAMP) -$(XENCLIENT_TBOOT_DIR): $(XENCLIENT_TBOOT_REPO) $(XENCLIENT_MK_BUILD_DIR_ALWAYS) +$(XENCLIENT_TBOOT_DIR_STAMP): $(XENCLIENT_TBOOT_PATCH_STAMP) $(XENCLIENT_MK_BUILD_DIR_ALWAYS) $(call $(XENCLIENT_MK_BUILD_DIR),$(XENCLIENT_TBOOT_REPO),$(XENCLIENT_TBOOT_DIR)) + touch $(XENCLIENT_TBOOT_DIR_STAMP) xenclient-tboot-source: $(DL_DIR)/$(XENCLIENT_TBOOT_SOURCE) -$(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_BINARY): $(XENCLIENT_TBOOT_DIR) +$(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_BINARY): $(XENCLIENT_TBOOT_PATCH_STAMP) $(XENCLIENT_TBOOT_DIR_STAMP) + -ls -l $(XENCLIENT_TBOOT_PATCH_STAMP) $(XENCLIENT_TBOOT_DIR_STAMP) $(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_BINARY) TARGET_ARCH=x86_32 CROSS_COMPILE=${TARGET_CC:gcc=} $(MAKE) -C $(XENCLIENT_TBOOT_DIR) SUBDIRS:=\"tboot\" $(TARGET_DIR)/$(XENCLIENT_TBOOT_TARGET_BINARY): $(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_BINARY) mkdir -p $(XENCLIENT_TBOOT_BOOT) - cp -lf $(XENCLIENT_TBOOT_DIR)/tboot/tboot.gz $(XENCLIENT_TBOOT_BOOT) && \ - chmod 444 $(XENCLIENT_TBOOT_BOOT)/tboot.gz - cp -f package/xenclient/tboot/lcp_data.bin $(XENCLIENT_TBOOT_BOOT) + install -c -m 444 $(XENCLIENT_TBOOT_DIR)/tboot/tboot.gz $(XENCLIENT_TBOOT_BOOT) + install -c -m 644 package/xenclient/tboot/lcp_data.bin $(XENCLIENT_TBOOT_BOOT) xenclient-tboot: xenclient-xen-auto xenclient-kernel-auto trousers tpm-tools $(TARGET_DIR)/$(XENCLIENT_TBOOT_TARGET_BINARY) @@ -56,23 +56,24 @@ xenclient-tboot-dirclean: ### tboot-tools -$(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_TOOLS_BINARY): $(XENCLIENT_TBOOT_DIR) +$(XENCLIENT_TBOOT_TOOLS_STAMP): $(XENCLIENT_TBOOT_DIR_STAMP) $(XENCLIENT_TBOOT_PATCH_STAMP) $(MAKE) $(TARGET_CONFIGURE_OPTS) libdir=$(STAGING_DIR)/usr/lib LDFLAGS="$(TARGET_LDFLAGS) -lz" -C $(XENCLIENT_TBOOT_DIR)/tb_polgen - # XXX horrible hack for broken Makefile - touch $(XENCLIENT_TBOOT_DIR)/lcptools/-ltspi $(MAKE) $(TARGET_CONFIGURE_OPTS) libdir=$(STAGING_DIR)/usr/lib CFLAGS+="$(XENCLIENT_TBOOT_TOOLS_INC)" \ LDFLAGS="$(TARGET_LDFLAGS) -lz" -C $(XENCLIENT_TBOOT_DIR)/lcptools + touch $@ + -$(TARGET_DIR)/$(XENCLIENT_TBOOT_TOOLS_TARGET_BINARY): $(XENCLIENT_TBOOT_DIR)/$(XENCLIENT_TBOOT_TOOLS_BINARY) +$(XENCLIENT_TBOOT_TOOLS_INSTALL_STAMP): $(XENCLIENT_TBOOT_TOOLS_STAMP) mkdir -p $(TARGET_DIR)/usr/bin mkdir -p $(TARGET_DIR)/usr/share/xenclient - for i in $(XENCLIENT_TBOOT_TOOLS_FILES); \ - do \ - cp -rlf $(XENCLIENT_TBOOT_DIR)/$$i $(TARGET_DIR)/usr/bin; \ - done - cp -f package/xenclient/tboot/configure_tboot $(TARGET_DIR)/usr/share/xenclient + $(MAKE) $(TARGET_CONFIGURE_OPTS) libdir=$(STAGING_DIR)/usr/lib LDFLAGS="$(TARGET_LDFLAGS) -lz" \ + -C $(XENCLIENT_TBOOT_DIR)/tb_polgen DISTDIR=$(TARGET_DIR) install + $(MAKE) $(TARGET_CONFIGURE_OPTS) libdir=$(STAGING_DIR)/usr/lib CFLAGS+="$(XENCLIENT_TBOOT_TOOLS_INC)" \ + LDFLAGS="$(TARGET_LDFLAGS) -lz" -C $(XENCLIENT_TBOOT_DIR)/lcptools DISTDIR=$(TARGET_DIR) install + install -m 755 -c package/xenclient/tboot/configure_tboot $(TARGET_DIR)/usr/share/xenclient + touch $@ -xenclient-tboot-tools: uclibc zlib xenclient-xen-auto xenclient-tboot $(TARGET_DIR)/$(XENCLIENT_TBOOT_TOOLS_TARGET_BINARY) +xenclient-tboot-tools: uclibc zlib xenclient-xen-auto xenclient-tboot $(XENCLIENT_TBOOT_TOOLS_INSTALL_STAMP) xenclient-tboot-tools-clean: -$(MAKE) -C $(XENCLIENT_TBOOT_DIR)/tb_polgen clean @@ -81,6 +82,9 @@ xenclient-tboot-tools-clean: rm -f $(TARGET_DIR)/usr/bin/tpmnv_* rm -f $(TARGET_DIR)/usr/bin/tb_polgen rm -f $(TARGET_DIR)/usr/share/xenclient/configure_tboot + rm -f $(XENCLIENT_TBOOT_TOOLS_INSTALL_STAMP) + rm -f $(XENCLIENT_TBOOT_TOOLS_STAMP) + rm -f ${XENCLIENT_TBOOT_DIR_STAMP} xenclient-tboot-tools-dirclean: rm -rf $(XENCLIENT_TBOOT_DIR)