mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
# Makefile for the BIRD Internet Routing Daemon
 | 
						|
# (c) 1999--2000 Martin Mares <mj@ucw.cz>
 | 
						|
 | 
						|
include Rules
 | 
						|
 | 
						|
.PHONY: all daemon client subdir depend clean distclean tags docs userdocs progdocs
 | 
						|
 | 
						|
all: sysdep/paths.h .dep-stamp subdir daemon @CLIENT@
 | 
						|
 | 
						|
daemon: $(exedir)/bird
 | 
						|
 | 
						|
client: $(exedir)/birdc
 | 
						|
 | 
						|
bird-dep := $(addsuffix /all.o, $(static-dirs)) conf/all.o lib/birdlib.a
 | 
						|
 | 
						|
$(bird-dep): sysdep/paths.h .dep-stamp subdir
 | 
						|
 | 
						|
birdc-dep := client/all.o lib/birdlib.a
 | 
						|
 | 
						|
$(birdc-dep): sysdep/paths.h .dep-stamp subdir
 | 
						|
 | 
						|
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)
 | 
						|
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
 | 
						|
 | 
						|
$(exedir)/birdc: $(birdc-dep)
 | 
						|
	$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(CLIENT_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_DIR \"$(sysconfdir)\""
 | 
						|
	echo >>sysdep/paths.h "#define PATH_CONTROL_SOCKET_DIR \"$(localstatedir)/run\""
 | 
						|
 | 
						|
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)/$(localstatedir)
 | 
						|
	$(INSTALL_PROGRAM) -s $(exedir)/bird $(DESTDIR)/$(sbindir)/bird@SUFFIX6@
 | 
						|
	if test -n "@CLIENT@" ; then								\
 | 
						|
		$(INSTALL_PROGRAM) -s $(exedir)/birdc $(DESTDIR)/$(sbindir)/birdc@SUFFIX6@ ;				\
 | 
						|
	fi
 | 
						|
	if ! test -f $(DESTDIR)/$(sysconfdir)/bird@SUFFIX6@.conf ; then						\
 | 
						|
		$(INSTALL_DATA) $(srcdir)/doc/bird.conf.example $(DESTDIR)/$(sysconfdir)/bird@SUFFIX6@.conf ;	\
 | 
						|
	else											\
 | 
						|
		echo "Not overwriting old bird@SUFFIX@.conf" ;						\
 | 
						|
	fi
 | 
						|
 | 
						|
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)/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)
 |