1-
2- PRODUCT_VERSION = 6.6.80
1+ PRODUCT_MAJOR_VERSION =6
2+ PRODUCT_MINOR_VERSION =6
3+ PRODUCT_MICRO_VERSION =80
4+ PRODUCT_VERSION = $(PRODUCT_MAJOR_VERSION ) .$(PRODUCT_MINOR_VERSION ) .$(PRODUCT_MICRO_VERSION )
35
46GO_BUILD = go build
57GO_FLAGS = -a -x
68
79REPO = $(shell pwd)
810SOURCEDIR = $(REPO ) /mk
911BUILDDIR = $(REPO ) /build
12+ GOBUILDDIR = $(BUILDDIR ) /gobuild
1013STAGEDIR = $(BUILDDIR ) /stage
1114OBJECTDIR = $(BUILDDIR ) /obj
1215DISTDIR = $(BUILDDIR ) /dist
@@ -25,14 +28,14 @@ ifeq ($(ARCH), amd64)
2528endif
2629
2730XE_DAEMON_SOURCES :=
28- XE_DAEMON_SOURCES += $( REPO ) /xe-daemon/xe-daemon.go
29- XE_DAEMON_SOURCES += $( REPO ) /guestmetric/guestmetric.go
30- XE_DAEMON_SOURCES += $( REPO ) /guestmetric/guestmetric_linux.go
31- XE_DAEMON_SOURCES += $( REPO ) /xenstoreclient/xenstore.go
31+ XE_DAEMON_SOURCES += . /xe-daemon/xe-daemon.go
32+ XE_DAEMON_SOURCES += . /guestmetric/guestmetric.go
33+ XE_DAEMON_SOURCES += . /guestmetric/guestmetric_linux.go
34+ XE_DAEMON_SOURCES += . /xenstoreclient/xenstore.go
3235
3336XENSTORE_SOURCES :=
34- XENSTORE_SOURCES += $( REPO ) /xenstore/xenstore.go
35- XENSTORE_SOURCES += $( REPO ) /xenstoreclient/xenstore.go
37+ XENSTORE_SOURCES += . /xenstore/xenstore.go
38+ XENSTORE_SOURCES += . /xenstoreclient/xenstore.go
3639
3740.PHONY : build
3841build : $(DISTDIR ) /$(PACKAGE ) _$(VERSION ) -$(RELEASE ) _$(ARCH ) .tgz
@@ -50,21 +53,30 @@ $(DISTDIR)/$(PACKAGE)_$(VERSION)-$(RELEASE)_$(ARCH).tgz: $(OBJECTS)
5053 install -m 755 $(OBJECTDIR ) /xe-daemon $(STAGEDIR ) /usr/sbin/xe-daemon ; \
5154 install -d $(STAGEDIR ) /usr/bin/ ; \
5255 install -m 755 $(OBJECTDIR ) /xenstore $(STAGEDIR ) /usr/bin/xenstore ; \
53- ln -s /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-read ; \
54- ln -s /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-write ; \
55- ln -s /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-exists ; \
56- ln -s /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-rm ; \
56+ ln -sf /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-read ; \
57+ ln -sf /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-write ; \
58+ ln -sf /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-exists ; \
59+ ln -sf /usr/bin/xenstore $(STAGEDIR ) /usr/bin/xenstore-rm ; \
5760 install -d $(STAGEDIR ) /etc/udev/rules.d/ ; \
5861 install -m 644 $(SOURCEDIR ) /xen-vcpu-hotplug.rules $(STAGEDIR ) /etc/udev/rules.d/z10_xen-vcpu-hotplug.rules ; \
5962 cd $(STAGEDIR ) ; \
6063 tar cf $@ * \
6164 )
6265
63- $(OBJECTDIR ) /xe-daemon : $(XE_DAEMON_SOURCES )
66+ $(OBJECTDIR ) /xe-daemon : $(XE_DAEMON_SOURCES:%= $( GOBUILDDIR ) /% )
6467 mkdir -p $(OBJECTDIR )
6568 $(GO_BUILD ) $(GO_FLAGS ) -o $@ $<
6669
67- $(OBJECTDIR ) /xenstore : $(XENSTORE_SOURCES )
70+ $(OBJECTDIR ) /xenstore : $(XENSTORE_SOURCES:%= $( GOBUILDDIR ) /% ) $( GOROOT )
6871 mkdir -p $(OBJECTDIR )
6972 $(GO_BUILD ) $(GO_FLAGS ) -o $@ $<
7073
74+ $(GOBUILDDIR ) /% : $(REPO ) /%
75+ mkdir -p $$(dirname $@ )
76+ cat $< | \
77+ sed -e " s/@PRODUCT_MAJOR_VERSION@/$( PRODUCT_MAJOR_VERSION) /g" | \
78+ sed -e " s/@PRODUCT_MINOR_VERSION@/$( PRODUCT_MINOR_VERSION) /g" | \
79+ sed -e " s/@PRODUCT_MICRO_VERSION@/$( PRODUCT_MICRO_VERSION) /g" | \
80+ sed -e " s/@NUMERIC_BUILD_NUMBER@/$( RELEASE) /g" \
81+ > $@
82+
0 commit comments