| include Makefile.common | |
| RPMBUILD=$(shell `which rpmbuild >&/dev/null` && echo "rpmbuild" || echo "rpm") | |
| INSTALL=install | |
| default: all | |
| all: | |
| @$(MAKE) -C src | |
| @$(MAKE) -C test | |
| @$(MAKE) -C examples | |
| library: | |
| @$(MAKE) -C src | |
| .PHONY: all install default clean test library | |
| .PHONY: FORCE cscope | |
| runtests: all | |
| @$(MAKE) -C test runtests | |
| runtests-loop: all | |
| @$(MAKE) -C test runtests-loop | |
| runtests-parallel: all | |
| @$(MAKE) -C test runtests-parallel | |
| config-host.mak: configure | |
| +@if [ ! -e "$@" ]; then \ | |
| echo "Running configure ..."; \ | |
| ./configure; \ | |
| else \ | |
| echo "$@ is out-of-date, running configure"; \ | |
| sed -n "/.*Configured with/s/[^:]*: //p" "$@" | sh; \ | |
| fi | |
| ifneq ($(MAKECMDGOALS),clean) | |
| include config-host.mak | |
| endif | |
| %.pc: %.pc.in config-host.mak $(SPECFILE) | |
| sed -e "s%@prefix@%$(prefix)%g" \ | |
| -e "s%@libdir@%$(libdir)%g" \ | |
| -e "s%@includedir@%$(includedir)%g" \ | |
| -e "s%@NAME@%$(NAME)%g" \ | |
| -e "s%@VERSION@%$(VERSION)%g" \ | |
| $< >$@ | |
| install: $(NAME).pc $(NAME)-ffi.pc | |
| @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) \ | |
| includedir=$(DESTDIR)$(includedir) \ | |
| libdir=$(DESTDIR)$(libdir) \ | |
| libdevdir=$(DESTDIR)$(libdevdir) \ | |
| relativelibdir=$(relativelibdir) | |
| $(INSTALL) -D -m 644 $(NAME).pc $(DESTDIR)$(libdevdir)/pkgconfig/$(NAME).pc | |
| $(INSTALL) -D -m 644 $(NAME)-ffi.pc $(DESTDIR)$(libdevdir)/pkgconfig/$(NAME)-ffi.pc | |
| $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man2 | |
| $(INSTALL) -m 644 man/*.2 $(DESTDIR)$(mandir)/man2 | |
| $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man3 | |
| $(INSTALL) -m 644 man/*.3 $(DESTDIR)$(mandir)/man3 | |
| $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man7 | |
| $(INSTALL) -m 644 man/*.7 $(DESTDIR)$(mandir)/man7 | |
| uninstall: | |
| @$(MAKE) -C src uninstall prefix=$(DESTDIR)$(prefix) datadir=$(DESTDIR)$(datadir) | |
| @rm -f $(DESTDIR)$(libdevdir)/pkgconfig/$(NAME).pc | |
| @rm -f $(DESTDIR)$(libdevdir)/pkgconfig/$(NAME)-ffi.pc | |
| @rm -rf $(DESTDIR)$(mandir)/man2/io_uring*.2 | |
| @rm -rf $(DESTDIR)$(mandir)/man3/io_uring*.3 | |
| @rm -rf $(DESTDIR)$(mandir)/man7/io_uring*.7 | |
| install-tests: | |
| @$(MAKE) -C test install prefix=$(DESTDIR)$(prefix) datadir=$(DESTDIR)$(datadir) | |
| uninstall-tests: | |
| @$(MAKE) -C test uninstall prefix=$(DESTDIR)$(prefix) datadir=$(DESTDIR)$(datadir) | |
| clean: | |
| @rm -f config-host.mak config-host.h cscope.out $(NAME).pc $(NAME)-ffi.pc test/*.dmesg | |
| @$(MAKE) -C src clean | |
| @$(MAKE) -C test clean | |
| @$(MAKE) -C examples clean | |
| cscope: | |
| @cscope -b -R | |
| tag-archive: | |
| @git tag $(TAG) | |
| create-archive: | |
| @git archive --prefix=$(NAME)-$(VERSION)/ -o $(NAME)-$(VERSION).tar.gz $(TAG) | |
| @echo "The final archive is ./$(NAME)-$(VERSION).tar.gz." | |
| archive: clean tag-archive create-archive | |
| srpm: create-archive | |
| $(RPMBUILD) --define "_sourcedir `pwd`" --define "_srcrpmdir `pwd`" --nodeps -bs $(SPECFILE) |