| CFLAGS := -g -O2 -Wall -Wsign-compare | |
| INSTALL := install | |
| DESTDIR := | |
| ETCDIR := /etc | |
| BINDIR := /bin | |
| SBINDIR := /sbin | |
| MANDIR := /usr/share/man | |
| SPECFILE := redhat/cachefilesd.spec | |
| LNS := ln -sf | |
| ############################################################################### | |
| # | |
| # Determine the current package version from the specfile | |
| # | |
| ############################################################################### | |
| VERSION := $(word 2,$(shell grep "^Version:" $(SPECFILE))) | |
| TARBALL := cachefilesd-$(VERSION).tar | |
| ZTARBALL := $(TARBALL).bz2 | |
| ############################################################################### | |
| # | |
| # Guess at the appropriate word size | |
| # | |
| ############################################################################### | |
| BUILDFOR := $(shell file /usr/bin/make | sed -e 's!.*ELF \(32\|64\)-bit.*!\1!')-bit | |
| ifeq ($(BUILDFOR),32-bit) | |
| CFLAGS += -m32 | |
| else | |
| ifeq ($(BUILDFOR),64-bit) | |
| CFLAGS += -m64 | |
| endif | |
| endif | |
| ############################################################################### | |
| # | |
| # Build stuff | |
| # | |
| ############################################################################### | |
| all: cachefilesd | |
| cachefilesd: cachefilesd.c Makefile | |
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< | |
| ############################################################################### | |
| # | |
| # Install everything | |
| # | |
| ############################################################################### | |
| MAN5 := $(DESTDIR)$(MANDIR)/man5 | |
| MAN8 := $(DESTDIR)$(MANDIR)/man8 | |
| install: all | |
| $(INSTALL) -D -m 0755 cachefilesd $(DESTDIR)$(SBINDIR)/cachefilesd | |
| $(INSTALL) -D -m 0644 cachefilesd.conf $(DESTDIR)$(ETCDIR)/cachefilesd.conf | |
| $(INSTALL) -D -m 0644 cachefilesd.conf.5 $(MAN5)/cachefilesd.conf.5 | |
| $(INSTALL) -D -m 0644 cachefilesd.8 $(MAN8)/cachefilesd.8 | |
| ############################################################################### | |
| # | |
| # Clean up | |
| # | |
| ############################################################################### | |
| clean: | |
| $(RM) cachefilesd | |
| $(RM) *.o *~ | |
| $(RM) debugfiles.list debugsources.list | |
| distclean: clean | |
| $(RM) -r rpmbuild $(TARBALL) | |
| ############################################################################### | |
| # | |
| # Generate a tarball | |
| # | |
| ############################################################################### | |
| $(ZTARBALL): | |
| git archive --prefix=keyutils-$(VERSION)/ --format tar -o $(TARBALL) HEAD | |
| bzip2 -9 <$(TARBALL) >$(ZTARBALL) | |
| tarball: $(ZTARBALL) | |
| ############################################################################### | |
| # | |
| # Generate an RPM | |
| # | |
| ############################################################################### | |
| SRCBALL := rpmbuild/SOURCES/$(TARBALL) | |
| ZSRCBALL := rpmbuild/SOURCES/$(ZTARBALL) | |
| BUILDID := .local | |
| dist := $(word 2,$(shell grep -r "^%dist" /etc/rpm /usr/lib/rpm)) | |
| release := $(word 2,$(shell grep ^Release: $(SPECFILE))) | |
| release := $(subst %{?dist},$(dist),$(release)) | |
| release := $(subst %{?buildid},$(BUILDID),$(release)) | |
| rpmver := $(VERSION)-$(release) | |
| SRPM := rpmbuild/SRPMS/cachefilesd-$(rpmver).src.rpm | |
| RPMBUILDDIRS := \ | |
| --define "_srcrpmdir $(CURDIR)/rpmbuild/SRPMS" \ | |
| --define "_rpmdir $(CURDIR)/rpmbuild/RPMS" \ | |
| --define "_sourcedir $(CURDIR)/rpmbuild/SOURCES" \ | |
| --define "_specdir $(CURDIR)/rpmbuild/SPECS" \ | |
| --define "_builddir $(CURDIR)/rpmbuild/BUILD" \ | |
| --define "_buildrootdir $(CURDIR)/rpmbuild/BUILDROOT" | |
| RPMFLAGS := \ | |
| --define "buildid $(BUILDID)" | |
| rpm: | |
| mkdir -p rpmbuild | |
| chmod ug-s rpmbuild | |
| mkdir -p rpmbuild/{SPECS,SOURCES,BUILD,BUILDROOT,RPMS,SRPMS} | |
| git archive --prefix=cachefilesd-$(VERSION)/ --format tar -o $(SRCBALL) HEAD | |
| bzip2 -9 <$(SRCBALL) >$(ZSRCBALL) | |
| rpmbuild -ts $(ZSRCBALL) --define "_srcrpmdir rpmbuild/SRPMS" $(RPMFLAGS) | |
| rpmbuild --rebuild $(SRPM) $(RPMBUILDDIRS) $(RPMFLAGS) | |
| rpmlint: rpm | |
| rpmlint $(SRPM) $(CURDIR)/rpmbuild/RPMS/*/cachefilesd-{,debuginfo-}$(rpmver).*.rpm | |
| ############################################################################### | |
| # | |
| # Build debugging | |
| # | |
| ############################################################################### | |
| show_vars: | |
| @echo VERSION=$(VERSION) | |
| @echo TARBALL=$(TARBALL) | |
| @echo BUILDFOR=$(BUILDFOR) |