xref: /linux/tools/net/ynl/Makefile (revision 1260ed77798502de9c98020040d2995008de10cc)
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