# $Id: Makefile.in,v 4.8 2002/03/27 13:56:39 katie Exp $ GOAL = roe OBJS = roe.o roe_tcl.o roe.y.o roe.l.o RadixSet.o \ object.o route-list.o schedule.o roe_config.o \ bgp.l.o \ fileselect.tk.o config_irr.tk.o config_tmpl.tk.o \ layout.tk.o update_irr.tk.o utils.tk.o SRCS = roe.cc roe_tcl.cc roe.y.cc roe.l.cc RadixSet.cc \ object.cc route-list.cc schedule.cc roe_config.cc \ bgp.l.cc\ fileselect.tk.cc config_irr.tk.cc config_tmpl.tk.cc \ layout.tk.cc update_irr.tk.cc utils.tk.cc HFILES = roe.hh roe_tcl.hh roe.hh RadixSet.hh \ object.hh route-list.hh schedule.hh roe_config.hh TKFILES = fileselect.tk config_irr.tk config_tmpl.tk layout.tk \ update_irr.tk utils.tk REQUIRES = normalform irr re2dfa rpsl Core gnug++ util LIBS = $(REQUIRES:%=-L../%) $(REQUIRES:%=-l%) \ @LD_SWITCH_X_SITE@ @LD_TCL_TK_LIBS@ -lX11 \ @EXTRA_LIBS@ # directories srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ INCDIRS = -I$(srcdir) -I. -I$(top_srcdir)/src -I.. @all_INCDIRS@ @EXTRA_INCLUDE_DIRS@ @C_SWITCH_X_SITE@ # programs @SET_MAKE@ SHELL = /bin/sh RANLIB = @RANLIB@ CC = @CC@ CXX = @CXX@ BISON = @YACC@ FLEX = @LEX@ LD = @LD@ PERL = @PERL_PATH@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ # The default location for installation. prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ mandir = @mandir@ man1dir = $(mandir)/man1 man3dir = $(mandir)/man3 DEFINES = @DEFS@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ CXXFLAGS = @CXXFLAGS@ default: all # Implicit rules %.y.cc %.y.hh: %.y @echo Compiling: `basename $<` $(BISON) -d -p `basename $< .y` $< mv y.tab.c $<.cc mv y.tab.h $<.hh %.l.cc: %.l @echo Compiling: `basename $<` $(FLEX) -P`basename $< .l` $< mv lex.`basename $< .l`.c $<.cc .c.o: @echo Compiling: `basename $<` @$(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFINES) $(INCDIRS) $< .cc.o: @echo Compiling: `basename $<` @$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) $(INCDIRS) $< # Transformations applied to each line of the file: # eliminate blank lines # eliminate lines that are only comments # eliminate tab characters # eliminate leading white space characters # Convert preexisting backslash into double backslash. # Precede preexisting double quote (") with backslash. # Add backslash, n, backslash to the end of each line. %.tk.cc: %.tk @echo "converting $*.tk to $*.tk.cc" @echo "/* this file was machine generated from $*.tk */" > $<.cc @echo "/* on `date` by $$USER */" >> $<.cc @echo "" >> $<.cc @echo 'static char foo[] = {' >> $<.cc @sed -e '/^$$/d' \ -e '/^[ ]*#/d' \ -e 's/ / /g' \ -e 's/^ *//g' \ -e "s/\\(.\\)/'\\1',/g" \ -e 's/\\/\\\\/g' \ -e 's/$$/0x0a,/' \ $< >> $<.cc @echo '0x0 };' >> $<.cc @echo "" >> $<.cc @echo "/* This indirection is needed to fool damaged linker */" >> $<.cc @echo "" >> $<.cc @echo 'char *$*_tk = foo;' >> $<.cc .SUFFIXES: .cc .tk # # No need to make changes below # # Explicit rules all: $(GOAL) $(GOAL): $(OBJS) dolibs $(LD) $(CFLAGS) -o $(GOAL) $(OBJS) $(LIBS) dolibs: @ cd ..; $(MAKE) $(MFLAGS) dolibs clean: rm -f core *.o *~ *.y.cc *.y.hh *.l.cc *.l.hh *.tk.cc $(GOAL) mostlyclean: rm -f core *.o *~ *.y.cc *.y.hh *.l.cc *.l.hh *.tk.cc depend: ${SRCS} $(CXX) -MM $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) $(INCDIRS) $^ >makedep echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep echo '$$r makedep' >>eddep echo 'w' >>eddep cp Makefile Makefile.bak ed - Makefile < eddep rm eddep makedep echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile echo '# see make depend above' >> Makefile # DO NOT DELETE THIS LINE # DEPENDENCIES MUST END AT END OF FILE # IF YOU PUT STUFF HERE IT WILL GO AWAY # see make depend above