186878f14SJakub Kicinski# SPDX-License-Identifier: GPL-2.0 286878f14SJakub Kicinski 3*e5ad1d98SJan Stancekinclude ../../scripts/Makefile.arch 4*e5ad1d98SJan Stancek 5*e5ad1d98SJan StancekINSTALL ?= install 6*e5ad1d98SJan Stancekprefix ?= /usr 7*e5ad1d98SJan Stancekifeq ($(LP64), 1) 8*e5ad1d98SJan Stancek libdir_relative = lib64 9*e5ad1d98SJan Stancekelse 10*e5ad1d98SJan Stancek libdir_relative = lib 11*e5ad1d98SJan Stancekendif 12*e5ad1d98SJan Stanceklibdir ?= $(prefix)/$(libdir_relative) 13*e5ad1d98SJan Stancekincludedir ?= $(prefix)/include 14*e5ad1d98SJan Stancek 1586878f14SJakub KicinskiSUBDIRS = lib generated samples 1686878f14SJakub Kicinski 1707c3cc51SJakub Kicinskiall: $(SUBDIRS) libynl.a 1886878f14SJakub Kicinski 199cf9b570SJakub Kicinskisamples: | lib generated 2007c3cc51SJakub Kicinskilibynl.a: | lib generated 2107c3cc51SJakub Kicinski @echo -e "\tAR $@" 2207c3cc51SJakub Kicinski @ar rcs $@ lib/ynl.o generated/*-user.o 239cf9b570SJakub Kicinski 2486878f14SJakub Kicinski$(SUBDIRS): 2586878f14SJakub Kicinski @if [ -f "$@/Makefile" ] ; then \ 2686878f14SJakub Kicinski $(MAKE) -C $@ ; \ 2786878f14SJakub Kicinski fi 2886878f14SJakub Kicinski 294e887471SJakub Kicinskiclean distclean: 3086878f14SJakub Kicinski @for dir in $(SUBDIRS) ; do \ 3186878f14SJakub Kicinski if [ -f "$$dir/Makefile" ] ; then \ 3286878f14SJakub Kicinski $(MAKE) -C $$dir $@; \ 3386878f14SJakub Kicinski fi \ 3486878f14SJakub Kicinski done 3507c3cc51SJakub Kicinski rm -f libynl.a 36ab88c2b3SJan Stancek rm -rf pyynl/__pycache__ 37ab88c2b3SJan Stancek rm -rf pyynl/lib/__pycache__ 38*e5ad1d98SJan Stancek rm -rf pyynl.egg-info 39*e5ad1d98SJan Stancek rm -rf build 4086878f14SJakub Kicinski 41*e5ad1d98SJan Stancekinstall: libynl.a lib/*.h 42*e5ad1d98SJan Stancek @echo -e "\tINSTALL libynl.a" 43*e5ad1d98SJan Stancek @$(INSTALL) -d $(DESTDIR)$(libdir) 44*e5ad1d98SJan Stancek @$(INSTALL) -m 0644 libynl.a $(DESTDIR)$(libdir)/libynl.a 45*e5ad1d98SJan Stancek @echo -e "\tINSTALL libynl headers" 46*e5ad1d98SJan Stancek @$(INSTALL) -d $(DESTDIR)$(includedir)/ynl 47*e5ad1d98SJan Stancek @$(INSTALL) -m 0644 lib/*.h $(DESTDIR)$(includedir)/ynl/ 48*e5ad1d98SJan Stancek @echo -e "\tINSTALL pyynl" 49*e5ad1d98SJan Stancek @pip install --prefix=$(DESTDIR)$(prefix) . 50*e5ad1d98SJan Stancek @make -C generated install 51*e5ad1d98SJan Stancek 52*e5ad1d98SJan Stancek.PHONY: all clean distclean install $(SUBDIRS) 53