Blob Blame History Raw
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)"