Makefile 3.3 KB
Newer Older
Z
Zhipeng Xie 已提交
1
VERSION = 0.2
D
dogsheng 已提交
2 3 4 5 6 7 8 9
.PHONY: all clean modules

PKGPATH=pkg
CURDIR=$(shell pwd)
PREFIX    ?= /usr
LIBEXEC   ?= libexec
BINDIR     = $(DESTDIR)$(PREFIX)/bin
SYSTEMDDIR = $(DESTDIR)$(PREFIX)/lib/systemd/system
10 11 12
SRCVERSION = $(shell git rev-parse --short HEAD 2>/dev/null)
ATUNEVERSION = $(VERSION)$(if $(SRCVERSION),($(SRCVERSION)))

13
GOLDFLAGS += -X gitee.com/openeuler/A-Tune/common/config.Version=$(ATUNEVERSION)
14
GOFLAGS = -ldflags "$(GOLDFLAGS)"
D
dogsheng 已提交
15 16 17 18

all: modules atune-adm atuned db

atune-adm:
19
	go build -mod=vendor -v $(GOFLAGS) -o $(PKGPATH)/atune-adm cmd/atune-adm/*.go
D
dogsheng 已提交
20 21

atuned:
22
	go build -mod=vendor -v $(GOFLAGS) -o $(PKGPATH)/atuned cmd/atuned/*.go
D
dogsheng 已提交
23 24

modules:
25
	cd ${CURDIR}/modules/server/profile/ && go build -mod=vendor -buildmode=plugin -o ${CURDIR}/pkg/daemon_profile_server.so *.go
D
dogsheng 已提交
26 27 28 29 30 31 32 33 34 35 36

clean:
	rm -rf $(PKGPATH)/*

db:
	sqlite3 database/atuned.db ".read database/init.sql"

install:
	@echo "BEGIN INSTALL A-Tune"
	mkdir -p $(BINDIR)
	mkdir -p $(SYSTEMDDIR)
37 38 39 40 41 42
	rm -rf $(DESTDIR)/etc/atuned/
	rm -rf $(DESTDIR)$(PREFIX)/lib/atuned/
	rm -rf $(DESTDIR)$(PREFIX)/share/atuned/
	rm -rf $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/
	rm -rf $(DESTDIR)/var/lib/atuned/
	rm -rf $(DESTDIR)/var/run/atuned/
43
	rm -rf $(DESTDIR)/var/atuned/
Z
Zhipeng Xie 已提交
44
	mkdir -p $(DESTDIR)/etc/atuned/tuning
45
	mkdir -p $(DESTDIR)/etc/atuned/rules
G
gaoruoshu 已提交
46 47
	mkdir -p $(DESTDIR)/etc/atuned/training
	mkdir -p $(DESTDIR)/etc/atuned/classification
G
gaoruoshu 已提交
48
	mkdir -p $(DESTDIR)/etc/atuned/webserver
D
dogsheng 已提交
49
	mkdir -p $(DESTDIR)$(PREFIX)/lib/atuned/modules
50
	mkdir -p $(DESTDIR)$(PREFIX)/lib/atuned/profiles
G
gaoruoshu 已提交
51
	mkdir -p $(DESTDIR)$(PREFIX)/lib/atuned/training
D
dogsheng 已提交
52 53 54
	mkdir -p $(DESTDIR)$(PREFIX)/share/atuned
	mkdir -p $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/scripts
	mkdir -p $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/analysis
G
gaoruoshu 已提交
55
	mkdir -p $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/resources
D
dogsheng 已提交
56
	mkdir -p $(DESTDIR)/var/lib/atuned
57
	mkdir -p $(DESTDIR)/var/run/atuned
58
	mkdir -p $(DESTDIR)/var/atuned
D
dogsheng 已提交
59 60 61 62 63 64
	mkdir -p $(DESTDIR)$(PREFIX)/share/bash-completion/completions
	install -m 640 pkg/daemon_profile_server.so $(DESTDIR)$(PREFIX)/lib/atuned/modules
	install -m 750 pkg/atune-adm $(BINDIR)
	install -m 750 pkg/atuned $(BINDIR)
	install -m 640 misc/atuned.service $(SYSTEMDDIR)
	install -m 640 misc/atuned.cnf $(DESTDIR)/etc/atuned/
65
	install -m 640 rules/tuning/tuning_rules.grl $(DESTDIR)/etc/atuned/rules
G
gaoruoshu 已提交
66
	install -m 640 misc/atune-engine.service $(SYSTEMDDIR)
D
dogsheng 已提交
67 68 69 70 71 72
	install -m 640 database/atuned.db $(DESTDIR)/var/lib/atuned/
	install -m 640 misc/atune-adm $(DESTDIR)$(PREFIX)/share/bash-completion/completions/
	\cp -rf scripts/* $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/scripts/
	chmod -R 750 $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/scripts/
	\cp -rf analysis/* $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/analysis/
	chmod -R 750 $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/analysis/
G
gaoruoshu 已提交
73 74
	\cp -rf resources/* $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/resources/
	chmod -R 750 $(DESTDIR)$(PREFIX)/$(LIBEXEC)/atuned/resources/
75 76
	\cp -rf profiles/* $(DESTDIR)$(PREFIX)/lib/atuned/profiles/
	chmod -R 640 $(DESTDIR)$(PREFIX)/lib/atuned/profiles/
D
dogsheng 已提交
77
	@echo "END INSTALL A-Tune"
Z
Zhipeng Xie 已提交
78 79

rpm:
80 81 82
	cd .. && tar -zcvf openeuler-A-Tune-v$(VERSION).tar.gz A-Tune
	mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
	mv ../openeuler-A-Tune-v$(VERSION).tar.gz ~/rpmbuild/SOURCES
Z
Zhipeng Xie 已提交
83
	rpmbuild -ba misc/atune.spec
84 85 86 87

models:
	rm -rf ${CURDIR}/analysis/models/*
	cd ${CURDIR}/tools/ && python3 generate_models.py