source: trunk/packages/xen-common/xen-common/tools/vtpm/Makefile @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 2.4 KB
Line 
1XEN_ROOT = ../..
2
3# Base definitions and rules
4include $(XEN_ROOT)/tools/vtpm/Rules.mk
5
6# Dir name for emulator (as dom0 tpm driver)
7TPM_EMULATOR_DIR = tpm_emulator
8# Dir name for vtpm instance
9VTPM_DIR = vtpm
10ORIG_DIR = orig
11
12# Emulator tarball name
13TPM_EMULATOR_NAME = tpm_emulator-0.4
14TPM_EMULATOR_TARFILE = $(TPM_EMULATOR_NAME).tar.gz
15
16GMP_HEADER = /usr/include/gmp.h
17
18.PHONY: all
19all: build
20
21.PHONY: build
22build: $(VTPM_DIR) $(TPM_EMULATOR_DIR) build_sub
23
24.PHONY: install
25install: build
26        if [ "$(BUILD_EMULATOR)" = "y" ]; then \
27                $(MAKE) -C $(TPM_EMULATOR_DIR) $@ ;\
28        fi 
29        $(MAKE) -C $(VTPM_DIR) $@
30
31.PHONY: clean
32clean:
33        @if [ -d $(TPM_EMULATOR_DIR) ]; \
34                then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
35        fi
36        @if [ -d $(VTPM_DIR) ]; \
37                then $(MAKE) -C $(VTPM_DIR) clean; \
38        fi
39
40.PHONY: mrproper
41mrproper:
42        rm -f $(TPM_EMULATOR_TARFILE) tpm_emulator.patch.old vtpm.patch.old
43        rm -rf $(TPM_EMULATOR_DIR) $(VTPM_DIR) $(ORIG_DIR)
44
45# Download Swiss emulator
46$(TPM_EMULATOR_TARFILE):
47        wget http://download.berlios.de/tpm-emulator/$(TPM_EMULATOR_TARFILE)
48
49# Create vtpm and TPM emulator dirs
50# apply patches for 1) used as dom0 tpm driver 2) used as vtpm device instance
51$(TPM_EMULATOR_DIR): $(TPM_EMULATOR_TARFILE) tpm_emulator.patch
52        if [ "$(BUILD_EMULATOR)" = "y" ]; then \
53                rm -rf $(TPM_EMULATOR_DIR); \
54                tar -xzf $(TPM_EMULATOR_TARFILE); \
55                mv $(TPM_EMULATOR_NAME) $(TPM_EMULATOR_DIR); \
56                cd $(TPM_EMULATOR_DIR); \
57                patch -p1 <../tpm_emulator.patch; \
58        fi
59
60$(VTPM_DIR): $(TPM_EMULATOR_TARFILE) vtpm.patch
61        rm -rf $(VTPM_DIR)
62        tar -xzf $(TPM_EMULATOR_TARFILE)
63        mv $(TPM_EMULATOR_NAME) $(VTPM_DIR);
64
65        cd $(VTPM_DIR); \
66        patch -p1 < ../tpm_emulator.patch; \
67        patch -p1 < ../vtpm.patch
68
69orig: $(TPM_EMULATOR_TARFILE)
70        mkdir $(ORIG_DIR);
71        cd $(ORIG_DIR); \
72        tar -xzf ../$(TPM_EMULATOR_TARFILE);
73
74updatepatches: clean orig
75        if [ "$(BUILD_EMULATOR)" = "y" ]; then \
76                find $(TPM_EMULATOR_DIR) -name "*.orig" -print | xargs rm -f; \
77                mv tpm_emulator.patch tpm_emulator.patch.old; \
78                diff -uprN orig/$(TPM_EMULATOR_NAME) $(TPM_EMULATOR_DIR) > tpm_emulator.patch || true; \
79        fi;
80        find $(VTPM_DIR) -name "*.orig" -print | xargs rm -f;
81        mv vtpm.patch vtpm.patch.old;
82        diff -uprN $(TPM_EMULATOR_DIR) $(VTPM_DIR) > vtpm.patch || true;
83
84.PHONY: build_sub
85build_sub:
86        @if [ -e $(GMP_HEADER) ]; then \
87                $(MAKE) -C $(VTPM_DIR); \
88                if [ "$(BUILD_EMULATOR)" = "y" ]; then \
89                        $(MAKE) -C $(TPM_EMULATOR_DIR); \
90                fi \
91        else \
92                echo "*** Unable to build VTPMs. libgmp could not be found."; \
93        fi
94
Note: See TracBrowser for help on using the repository browser.