Blame Makefile

Packit Service 18eaa3
# Basic Makefile for compiling & installing the files.
Packit Service 18eaa3
#
Packit Service 18eaa3
# Supports standard GNU Makefile variables for specifying the paths:
Packit Service 18eaa3
# * prefix
Packit Service 18eaa3
# * exec_prefix
Packit Service 18eaa3
# * bindir
Packit Service 18eaa3
# * sbindir
Packit Service 18eaa3
# * libdir
Packit Service 18eaa3
# * datarootdir
Packit Service 18eaa3
# * datadir
Packit Service 18eaa3
# * mandir
Packit Service 18eaa3
# * sysconfdir
Packit Service 18eaa3
# * localstatedir
Packit Service 18eaa3
# * DESTDIR
Packit Service 18eaa3
#
Packit Service 18eaa3
Packit Service 18eaa3
SHELL          = /bin/bash
Packit Service 18eaa3
Packit Service 18eaa3
# Normally /usr/local is used. However, it does not make sense for us to use it
Packit Service 18eaa3
# here, as it just complicates things even further.
Packit Service 18eaa3
prefix         = /usr
Packit Service 18eaa3
exec_prefix    = $(prefix)
Packit Service 18eaa3
bindir         = $(prefix)/bin
Packit Service 18eaa3
sbindir        = $(prefix)/sbin
Packit Service 18eaa3
libdir         = $(prefix)/lib
Packit Service 18eaa3
libexecdir     = $(exec_prefix)/libexec
Packit Service 18eaa3
datarootdir    = $(prefix)/share
Packit Service 18eaa3
datadir        = $(datarootdir)
Packit Service 18eaa3
mandir         = $(datadir)/man
Packit Service 18eaa3
sysconfdir     = /etc
Packit Service 18eaa3
localstatedir  = /var
Packit Service 18eaa3
sharedstatedir = $(localstatedir)/lib
Packit Service 18eaa3
Packit Service 18eaa3
VERSION       := $(shell gawk '/Version:/ { print $$2 }' initscripts.spec)
Packit Service 18eaa3
NEXT_VERSION  := $(shell sed -nr 's/Version:[ ]*([0-9]*)\.([0-9]*)\.([0-9]*)/echo "\1\.\2\.$$((\3+1))"/gep' initscripts.spec)
Packit Service 18eaa3
Packit Service 18eaa3
Packit Service 18eaa3
all: make-binaries make-translations
Packit Service 18eaa3
Packit Service 18eaa3
Packit Service 18eaa3
make-binaries:
Packit Service 18eaa3
	$(MAKE) -C src
Packit Service 18eaa3
Packit Service 18eaa3
make-translations:
Packit Service 18eaa3
	$(MAKE) -C po PYTHON=$(PYTHON)
Packit Service 18eaa3
Packit Service 18eaa3
Packit Service 18eaa3
# NOTE: We are no longer installing into /usr/sbin directory, because this is
Packit Service 18eaa3
#       just a symlink to /usr/bin, thanks to UsrMove change. Instead, we just
Packit Service 18eaa3
#       use virtual provides for /usr/sbin/<utility> in specfile (for backward
Packit Service 18eaa3
#       compatibility).
Packit Service 18eaa3
install: install-binaries install-translations install-etc install-usr install-network-scripts install-man install-post
Packit Service 18eaa3
Packit Service 18eaa3
Packit Service 18eaa3
install-binaries:
Packit Service 18eaa3
	$(MAKE) install -C src DESTDIR=$(DESTDIR) prefix=$(prefix) bindir=$(bindir) libdir=$(libdir)
Packit Service 18eaa3
Packit Service 18eaa3
install-translations:
Packit Service 18eaa3
	$(MAKE) install -C po  DESTDIR=$(DESTDIR) prefix=$(prefix) bindir=$(bindir) libdir=$(libdir) \
Packit Service 18eaa3
	                                          datarootdir=$(datarootdir) datadir=$(datadir) sysconfdir=$(sysconfdir)
Packit Service 18eaa3
Packit Service 18eaa3
Packit Service 18eaa3
# NOTE: We are removing auxiliary symlink at the beginning.
Packit Service 18eaa3
install-etc:
Packit Service 18eaa3
	rm -f etc/sysconfig/network-scripts
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(sysconfdir)
Packit Service 18eaa3
	cp -a        etc/* $(DESTDIR)$(sysconfdir)/
Packit Service 18eaa3
Packit Service 18eaa3
install-usr:
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(prefix)
Packit Service 18eaa3
	cp -a        usr/* $(DESTDIR)$(prefix)/
Packit Service 18eaa3
Packit Service 18eaa3
install-network-scripts: install-usr install-etc
Packit Service 18eaa3
	install -m 0755 -d      $(DESTDIR)$(sysconfdir)/sysconfig/network-scripts
Packit Service 18eaa3
	cp -a network-scripts/* $(DESTDIR)$(sysconfdir)/sysconfig/network-scripts/
Packit Service 18eaa3
	ln -srf $(DESTDIR)$(sysconfdir)/sysconfig/network-scripts/{ifup-ippp,ifup-isdn}
Packit Service 18eaa3
	ln -srf $(DESTDIR)$(sysconfdir)/sysconfig/network-scripts/{ifdown-ippp,ifdown-isdn}
Packit Service 18eaa3
Packit Service 18eaa3
install-man: install-usr
Packit Service 18eaa3
	install -m 0755 -d      $(DESTDIR)$(mandir)/man1
Packit Service 18eaa3
	install -m 0755 -d      $(DESTDIR)$(mandir)/man8
Packit Service 18eaa3
	install -m 0644 man/*.1 $(DESTDIR)$(mandir)/man1
Packit Service 18eaa3
	install -m 0644 man/*.8 $(DESTDIR)$(mandir)/man8
Packit Service 18eaa3
Packit Service 18eaa3
# Initscripts still ship some empty directories necessary for system to function
Packit Service 18eaa3
# correctly...
Packit Service 18eaa3
install-post: install-etc
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(sysconfdir)/sysconfig/console
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(sysconfdir)/sysconfig/modules
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(sharedstatedir)/stateless/state
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(sharedstatedir)/stateless/writable
Packit Service 18eaa3
	install -m 0755 -d $(DESTDIR)$(libexecdir)/initscripts/legacy-actions
Packit Service 18eaa3
	for idx in {0..6}; do \
Packit Service 18eaa3
	    dir=$(DESTDIR)$(sysconfdir)/rc.d/rc$$idx.d; \
Packit Service 18eaa3
	    install -m 0755 -d $$dir; \
Packit Service 18eaa3
	    ln -srf $(DESTDIR)$(sysconfdir)/rc.d/rc$$idx.d $(DESTDIR)$(sysconfdir)/; \
Packit Service 18eaa3
	done
Packit Service 18eaa3
Packit Service 18eaa3
clean:
Packit Service 18eaa3
	$(MAKE) clean -C src
Packit Service 18eaa3
	$(MAKE) clean -C po
Packit Service 18eaa3
	@find . -name "*~" -exec rm -v -f {} \;
Packit Service 18eaa3
Packit Service 18eaa3
tag:
Packit Service 18eaa3
	@git tag -a -f -m "Tag as $(VERSION)" $(VERSION)
Packit Service 18eaa3
	@echo "Tagged as $(VERSION)"
Packit Service 18eaa3
Packit Service 18eaa3
release-commit:
Packit Service 18eaa3
	@git log --decorate=no --format="- %s" $(VERSION)..HEAD > .changelog.tmp
Packit Service 18eaa3
	@rpmdev-bumpspec -n $(NEXT_VERSION) -f .changelog.tmp initscripts.spec
Packit Service 18eaa3
	@rm -f .changelog.tmp
Packit Service 18eaa3
	@git add initscripts.spec
Packit Service 18eaa3
	@git commit --message="$(NEXT_VERSION)"
Packit Service 18eaa3
	@git tag -a -f -m "Tag as $(NEXT_VERSION)" $(NEXT_VERSION)
Packit Service 18eaa3
	@echo -e "\n       New release commit ($(NEXT_VERSION)) created:\n"
Packit Service 18eaa3
	@git show
Packit Service 18eaa3
Packit Service 18eaa3
archive: clean
Packit Service 18eaa3
	@git archive --format=tar --prefix=initscripts-$(VERSION)/ HEAD > initscripts-$(VERSION).tar
Packit Service 18eaa3
	@mkdir -p initscripts-$(VERSION)/
Packit Service 18eaa3
	@tar --append -f initscripts-$(VERSION).tar initscripts-$(VERSION)
Packit Service 18eaa3
	@gzip -f initscripts-$(VERSION).tar
Packit Service 18eaa3
	@rm -rf initscripts-$(VERSION)
Packit Service 18eaa3
	@echo "The archive is at initscripts-$(VERSION).tar.gz"