File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / bird / tools / Makefile.in
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 19:50:23 2021 UTC (3 years, 3 months ago) by misho
Branches: bird, MAIN
CVS tags: v1_6_8p3, HEAD
bird 1.6.8

# Makefile for the BIRD Internet Routing Daemon
# (c) 1999--2000 Martin Mares <mj@ucw.cz>

include Rules

.PHONY: all daemon birdc birdcl subdir depend clean distclean tags docs userdocs progdocs

all: sysdep/paths.h .dep-stamp subdir daemon birdcl @CLIENT@

daemon: $(exedir)/bird

birdc: $(exedir)/birdc

birdcl: $(exedir)/birdcl

bird-dep := $(addsuffix /all.o, $(static-dirs)) conf/all.o lib/birdlib.a

$(bird-dep): sysdep/paths.h .dep-stamp subdir

birdc-dep := client/birdc.o client/all.o lib/birdlib.a

$(birdc-dep): sysdep/paths.h .dep-stamp subdir

birdcl-dep := client/birdcl.o client/all.o lib/birdlib.a

$(birdcl-dep): sysdep/paths.h .dep-stamp subdir


export client := @CLIENT@

depend: sysdep/paths.h .dir-stamp
	set -e ; for a in $(dynamic-dirs) ; do $(MAKE) -C $$a $@ ; done
	set -e ; for a in $(static-dirs) $(client-dirs) ; do $(MAKE) -C $$a -f $(srcdir_abs)/$$a/Makefile $@ ; done

subdir: sysdep/paths.h .dir-stamp .dep-stamp
	set -e ; for a in $(dynamic-dirs) ; do $(MAKE) -C $$a $@ ; done
	set -e ; for a in $(static-dirs) $(client-dirs) ; do $(MAKE) -C $$a -f $(srcdir_abs)/$$a/Makefile $@ ; done

$(exedir)/bird: $(bird-dep)
	@echo LD $(LDFLAGS) -o $@ $^ $(LIBS)
	@$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

$(exedir)/birdc: $(birdc-dep)
	@echo LD $(LDFLAGS) -o $@ $^ $(LIBS) $(CLIENT_LIBS)
	@$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(CLIENT_LIBS)

$(exedir)/birdcl: $(birdcl-dep)
	@echo LD $(LDFLAGS) -o $@ $^ $(LIBS)
	@$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)

.dir-stamp: sysdep/paths.h
	mkdir -p $(static-dirs) $(client-dirs) $(doc-dirs)
	touch .dir-stamp

.dep-stamp:
	$(MAKE) depend
	touch .dep-stamp

docs: userdocs progdocs

userdocs progdocs: .dir-stamp
	$(MAKE) -C doc -f $(srcdir_abs)/doc/Makefile $@

sysdep/paths.h:
	echo >sysdep/paths.h "/* Generated by Makefile, don't edit manually! */"
	echo >>sysdep/paths.h "#define PATH_CONFIG_FILE \"@CONFIG_FILE@\""
	echo >>sysdep/paths.h "#define PATH_CONTROL_SOCKET \"@CONTROL_SOCKET@\""
	if test -n "@iproutedir@" ; then echo >>sysdep/paths.h "#define PATH_IPROUTE_DIR \"@iproutedir@\"" ; fi

tags:
	cd $(srcdir) ; etags -lc `find $(static-dirs) $(addprefix $(objdir)/,$(dynamic-dirs)) $(client-dirs) -name *.[chY]`

install: all
	$(INSTALL) -d $(DESTDIR)/$(sbindir) $(DESTDIR)/$(sysconfdir) $(DESTDIR)/$(runstatedir)
	$(INSTALL_PROGRAM) $(exedir)/bird $(DESTDIR)/$(sbindir)/bird@SUFFIX@
	$(INSTALL_PROGRAM) $(exedir)/birdcl $(DESTDIR)/$(sbindir)/birdcl@SUFFIX@
	if test -n "@CLIENT@" ; then								\
		$(INSTALL_PROGRAM) $(exedir)/birdc $(DESTDIR)/$(sbindir)/birdc@SUFFIX@ ;	\
	fi
	$(INSTALL_DATA) $(srcdir)/doc/bird.conf.example $(DESTDIR)/@CONFIG_FILE@.example

install-docs:
	$(INSTALL) -d $(DESTDIR)/$(docdir)
	$(INSTALL_DATA) $(srcdir)/doc/{bird,prog}{,-*}.html $(DESTDIR)/$(docdir)/

clean:
	find . -name "*.[oa]" -o -name core -o -name depend -o -name "*.html" | xargs rm -f
	rm -f conf/cf-lex.c conf/cf-parse.* conf/commands.h conf/keywords.h
	rm -f $(exedir)/bird $(exedir)/birdcl $(exedir)/birdc $(exedir)/bird.ctl $(exedir)/bird6.ctl .dep-stamp

distclean: clean
	rm -f config.* configure sysdep/autoconf.h sysdep/paths.h Makefile Rules
	rm -rf .dir-stamp $(clean-dirs)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>