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)
### 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
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)