85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
NAME=liburing
 | 
						|
SPECFILE=$(NAME).spec
 | 
						|
VERSION=$(shell awk '/Version:/ { print $$2 }' $(SPECFILE))
 | 
						|
TAG = $(NAME)-$(VERSION)
 | 
						|
RPMBUILD=$(shell `which rpmbuild >&/dev/null` && echo "rpmbuild" || echo "rpm")
 | 
						|
 | 
						|
INSTALL=install
 | 
						|
 | 
						|
default: all
 | 
						|
 | 
						|
all:
 | 
						|
	@$(MAKE) -C src
 | 
						|
	@$(MAKE) -C test
 | 
						|
	@$(MAKE) -C examples
 | 
						|
 | 
						|
.PHONY: all install default clean test
 | 
						|
.PHONY: FORCE cscope
 | 
						|
 | 
						|
partcheck: all
 | 
						|
	@echo "make partcheck => TODO add tests with out kernel support"
 | 
						|
 | 
						|
runtests: all
 | 
						|
	@$(MAKE) -C test runtests
 | 
						|
runtests-loop:
 | 
						|
	@$(MAKE) -C test runtests-loop
 | 
						|
 | 
						|
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
 | 
						|
	@$(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) -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
 | 
						|
 | 
						|
install-tests:
 | 
						|
	@$(MAKE) -C test install prefix=$(DESTDIR)$(prefix) datadir=$(DESTDIR)$(datadir)
 | 
						|
 | 
						|
clean:
 | 
						|
	@rm -f config-host.mak config-host.h cscope.out $(NAME).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)
 |