VERSION := $(shell awk '/^Version:/ { print $$2 }' rt-setup.spec)
$(info "Version: $(VERSION)")
RPMDIR := $(shell pwd)/rpm
RPMARGS := --define "_topdir $(RPMDIR)"
CC := gcc
ifeq ($(CFLAGS),)
CFLAGS := -O3 -g -Wall -D_GNU_SOURCE \
-fstack-protector-all -fcf-protection \
-fstack-clash-protection
endif
CFLAGS += -fPIC -fplugin=annobin
LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
DISTVER := 8.0.0
DISTGITDIR := ../rt-setup.rhpkg
DISTGITBRANCH := rhel-$(DISTVER)
FILES := rt-setup-kdump \
slub_cpu_partial_off \
rhel-rt.rules \
kernel-is-rt \
rt-setup.sysconfig \
rt-setup.systemd \
realtime.conf \
rt-entsk.service \
rt-setup.service \
rt-setup.spec
all: rt-entsk
rt-entsk: enable-netsocket-tstamp-static-key.c
$(CC) $(CFLAGS) -c enable-netsocket-tstamp-static-key.c
$(CC) $(LDFLAGS) -o rt-entsk enable-netsocket-tstamp-static-key.o
rpm: rpmdir tarball
cp rt-setup-$(VERSION).tar.bz2 rpm/SOURCES
rpmbuild $(RPMARGS) -ba rt-setup.spec
rpmdir:
@[ -d rpm ] || mkdir -p rpm/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
clean:
rm -f *~ *.tar.bz2
rm -rf rpm
rm -f rt-entsk *.o
tarball: rpmdir
git archive --format=tar --prefix=rt-setup-$(VERSION)/ HEAD | bzip2 >rt-setup-$(VERSION).tar.bz2
install:
install -m 755 -D rt-setup-kdump $(DEST)/usr/bin/rt-setup-kdump
install -m 755 -D slub_cpu_partial_off $(DEST)/usr/bin/slub_cpu_partial_off
install -m 644 -D rhel-rt.rules $(DEST)/etc/udev/rules.d/99-rhel-rt.rules
install -m 755 -D kernel-is-rt $(DEST)/usr/sbin/kernel-is-rt
install -m 644 -D rt-setup.sysconfig $(DEST)/etc/sysconfig/rt-setup
install -m 755 -D rt-setup.systemd $(DEST)/usr/bin/rt-setup
install -m 644 -D realtime.conf $(DEST)/etc/security/limits.d/realtime.conf
install -m 644 -D rt-entsk.service $(DEST)/usr/lib/systemd/system/rt-entsk.service
install -m 755 -D -s rt-entsk $(DEST)/usr/sbin/rt-entsk
install -m 644 -D rt-setup.service $(DEST)/usr/lib/systemd/system/rt-setup.service
dist-git: tarball
cd $(DISTGITDIR) && rhpkg switch-branch --fetch $(DISTGITBRANCH)
cp $(FILES) $(DISTGITDIR)
cp rt-setup-$(VERSION).tar.bz2 $(DISTGITDIR)
cd $(DISTGITDIR) && rhpkg new-sources rt-setup-$(VERSION).tar.bz2
@echo "files copied to $(DISTGITDIR)"