]> xenbits.xen.org Git - xenclient/build.git/commitdiff
Tidy up tboot.mk, and move Christian's patch into something that can be sent upstream
authorJames Mckenzie <jamesmck@british-chap.cam.xci-test.com>
Tue, 12 Jan 2010 16:57:46 +0000 (16:57 +0000)
committerJames Mckenzie <jamesmck@british-chap.cam.xci-test.com>
Tue, 12 Jan 2010 16:57:46 +0000 (16:57 +0000)
package/xenclient/tboot/tboot-broken-makefile.patch [new file with mode: 0644]
package/xenclient/tboot/tboot.mk

diff --git a/package/xenclient/tboot/tboot-broken-makefile.patch b/package/xenclient/tboot/tboot-broken-makefile.patch
new file mode 100644 (file)
index 0000000..12503ec
--- /dev/null
@@ -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
index c065ba23bab68f7a75606dce49093f6581f381d0..24fe6c3420c33014fcf6cdf282c7bbc7900becf3 100644 (file)
@@ -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)