1#Makefile for openbmctool
2# Copyright (c) 2017 International Business Machines.
3#    Licensed under the Apache License, Version 2.0 (the "License");
4#    you may not use this file except in compliance with the License.
5#    You may obtain a copy of the License at
6#        http://www.apache.org/licenses/LICENSE-2.0
7#    Unless required by applicable law or agreed to in writing, software
8#    distributed under the License is distributed on an "AS IS" BASIS,
9#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10#    See the License for the specific language governing permissions and
11#    limitations under the License.
12
13VER=1.19
14REL=2
15ARCH=noarch
16PROD=openbmctool
17RHEL_VER=8
18NAME=$(PROD)-$(VER)-$(REL).$(ARCH)
19
20# Need to test RPMDIR to see if it is set. Otherwise set it.
21RPMDIR := $(if $(RPMDIR),$(RPMDIR),$(shell pwd)/build/rpm)
22
23# Need to test DEBDIR to see if it is set. Otherwise set it.
24DEBDIR := $(if $(DEBDIR),$(DEBDIR),$(shell pwd)/build/deb)
25
26default:
27	mkdir -p ./build
28clean: ;rm -rf ./build
29remove:
30	rm -f /usr/bin/openbmctool
31	rm -f /opt/ibm/ras/bin/openbmctool.py
32	rm -f /opt/ibm/ras/lib/policyTable.json
33install:
34	cp ../openbmctool.py $(DESTDIR)/opt/ibm/ras/bin
35	cp ../policyTable.json $(DESTDIR)/opt/ibm/ras/lib
36	ln -s -f $(DESTDIR)/opt/ibm/ras/bin/openbmctool.py $(DESTDIR)/usr/bin/openbmctool
37
38rpm: default
39	rm -rf $(RPMDIR)
40	mkdir -p $(RPMDIR)
41	mkdir -p $(RPMDIR)/openbmctool
42	for i in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS; do mkdir -p $(RPMDIR)/$$i; done
43	cp openbmctool-rhel$(RHEL_VER).spec $(RPMDIR)/SPECS
44	cp ../openbmctool.py ../policyTable.json $(RPMDIR)/openbmctool/
45	tar -cvzf $(RPMDIR)/SOURCES/openbmctool-$(VER)-$(REL).tgz -C $(RPMDIR) openbmctool
46	rpmbuild --define '_topdir $(RPMDIR)' --define "_version $(VER)" --define "_release $(REL)" -bb $(RPMDIR)/SPECS/openbmctool-rhel$(RHEL_VER).spec
47
48deb: default
49	rm -rf $(DEBDIR)
50	mkdir -p $(DEBDIR)
51	for i in bin lib; do mkdir -p $(DEBDIR)/opt/ibm/ras/$$i; done
52	mkdir -p $(DEBDIR)/usr/bin/
53	make install DESTDIR=$(DEBDIR)
54	mkdir -p $(DEBDIR)/DEBIAN
55	cp control $(DEBDIR)/DEBIAN
56	cd $(DEBDIR); find opt -type f -exec md5sum "{}" + >> DEBIAN/md5sums
57	cd $(DEBDIR); find usr -type f -exec md5sum "{}" + >> DEBIAN/md5sums
58	cd $(DEBDIR); echo "#!/bin/bash" >> DEBIAN/postinst
59	cd $(DEBDIR); echo "ln -s -f /opt/ibm/ras/bin/openbmctool.py /usr/bin/openbmctool" >> DEBIAN/postinst
60	chmod +x $(DEBDIR)/DEBIAN/postinst
61	chmod +x $(DEBDIR)/opt/ibm/ras/bin/openbmctool.py
62	dpkg-deb -b $(DEBDIR) $(DEBDIR)/DEBIAN/openbmctool-$(VER).$(REL)-$(ARCH).deb
63
64