diff options
author | Martin Mares <mj@ucw.cz> | 1999-01-10 00:18:32 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-01-10 00:18:32 +0000 |
commit | 49e7e5ee0b2848f5bf120a962e2e7eb11b86566a (patch) | |
tree | 56e7c215f49ab59792b5cf0194fa5045a66943c7 /tools/Rules.in | |
parent | 2f9bcf9713523f6fefecd143cc2aa2a8dda7f27f (diff) |
New makefiles. Includes support for out-of-source-tree builds.
Diffstat (limited to 'tools/Rules.in')
-rw-r--r-- | tools/Rules.in | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/Rules.in b/tools/Rules.in new file mode 100644 index 00000000..56c0903b --- /dev/null +++ b/tools/Rules.in @@ -0,0 +1,66 @@ +# Makefile fragments for the BIRD Internet Routing Daemon +# (c) 1999 Martin Mares <mj@ucw.cz> + +srcdir=@srcdir_rel_mf@ +objdir=@objdir@ +exedir=@exedir@ + +protocols=@protocols@ +static-dirs := nest $(addprefix proto/,$(protocols)) +static-dir-paths := $(addprefix $(srcdir)/,$(static-dirs)) +dynamic-dirs := lib conf +dynamic-dir-paths := $(dynamic-dirs) +dir-makefiles := $(addsuffix /Makefile,$(static-dir-paths) $(dynamic-dir-paths)) + +all-dirs:=$(static-dirs) $(dynamic-dirs) +clean-dirs:=$(all-dirs) proto sysdep +dir-objs:=$(addprefix $(objdir)/,$(all-dirs)) + +CPPFLAGS=-I$(root-rel) -I$(srcdir) +CFLAGS=$(CPPFLAGS) @CFLAGS@ +CC=@CC@ +M4=@M4@ +BISON=@BISON@ +FLEX=@FLEX@ +RANLIB=@RANLIB@ + +ifdef source + +objs := $(subst .c,.o,$(source)) + +ifdef dir-name +src-path := $(srcdir)/$(dir-name)/ +endif + +all: + cd $(root-rel) && make + +ifdef lib-dest + +subdir: $(lib-dest) + +$(lib-dest): $(objs) + rm -f $@ + ar rcs $@ $^ + $(RANLIB) $@ + +else + +subdir: all.o + +all.o: $(objs) + $(LD) -r -o $@ $^ + +endif + +%.o: $(src-path)%.c + $(CC) $(CFLAGS) -o $@ -c $^ + +depend: + gcc $(CPPFLAGS) -MM $(addprefix $(src-path),$(source)) >depend + +ifneq ($(wildcard .depend),) +include .depend +endif + +endif |