[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] regarding Tcl_Debugging




--- Lloyd Wood <[email protected]> wrote:
> On Mon, 15 Oct 2001, Raj M Verma wrote:
> 
> > hi, I'm just a novice to ns2 and I'm not well
> > experienced with this installation and compilation
> > stuff. I'm just following the instructions from
> the
> > manuals, scripts and from u of course. I've given
> the
> > command "./configure --enable-debug
> >
>
--with-tcldebug=/user/lh050479/raj/ns/ns-allinone-2.1b8a/tcl-debug-2.0"
> > at my
> > user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a
> > prompt. I'm sorry that u got me wrong,
> 
> garbage in, garbage out.
> 
> > I told u that I
> > used ./../ in the sense that I gave the above path
> but
> > not exactly "./../". well, after configuring I've
> > given the command "make" and it was compiled fine.
> but
> > still I'm getting the same warning that "script
> > debugging disabled, reconfigure with
> --with-tcldebug
> > and recompile" when I tried to run my example.tcl
> by
> > enabling "debug 1" inside the script.
> 
> Hmmm. Sounds like the makefile might still be having
> trouble with
> unusual locations, then.
> 
> You could actually try reading the configure output
> and seeing where
> it looks for the tcl debugger; where did it say it
> looked in the
> example you give above?
> 
> Try putting the tcl-debug-2.0 dir parallel to the
> ns-allinone-2.1b8a
> dir within the ns dir, configure and make, and tell
> us if that helps.
> 
> L.
> 

hi, I'm still having the same prob even after I
changed  the directory. I'm giving u the configure
output, generated makefile and the compilation result.
I noticed that it's looking for .configure file
instead of configure file! why is it so? regarding my
example, its just simple tcl script wherein the first
line is "debug 1" and then "set ns [new Simulator]"
and so on. it's not giving me any info about where
it's looking for the tcl debugger but it's saying that
"warning: Script debugging disabled. Reconfigure with
--with-tcldebug, and recompile". One more thing I
noticed is that in the Tcl debugger manual, page no.
11, it is mentioned that we've to "#include Dbg.h"
into our source code, but nowhere cud I'm able to find
this file. doesn't it(debugger) work if we do not
include this file inside our script? thanx a lot.
Raj.


configure output:

/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a>./configure
--enable-debug
--with-tcldebug=/user/lh050479/raj/ns/tcl-debug-2.0
loading cache ./config.cache
No .configure file found in current directory
Continuing with default options...
checking host system type... sparc-sun-solaris2.7
checking target system type... sparc-sun-solaris2.7
checking build system type... sparc-sun-solaris2.7
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works...yes
checking whether the C compiler (gcc  ) is a
cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for c++... (cached) c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a
cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc
-E
checking for ANSI C header files... (cached) yes
checking for string.h... (cached) yes
checking for main in -lXbsd... (cached) no
checking for socket in -lsocket... (cached) yes
checking for gethostbyname in -lnsl... (cached) yes
checking for dcgettext in -lintl... (cached) yes
checking for getnodebyname in -ldnet_stub... (cached)
no
checking that c++ can handle -O2... yes
checking standard STL is available... yes
checking for tcl.h... -I../include
checking for libtcl8.3... -R../lib -L../lib -ltcl8.3
checking for init.tcl... ../lib/tcl8.3
checking for tclsh8.3.2... (cached) ../bin/tclsh8.3
checking for tk.h... -I../include
checking for libtk8.3... -R../lib -L../lib -ltk8.3
checking for tk.tcl... ../lib/tk8.3
checking for otcl.h... -I../otcl-1.0a7
checking for libotcl1.0a7... -R../otcl-1.0a7
-L../otcl-1.0a7 -lotcl
checking for tclcl.h... -I../tclcl-1.0b11
checking for libtclcl... -R../tclcl-1.0b11
-L../tclcl-1.0b11 -ltclcl
checking for tcl2c++... ../tclcl-1.0b11
checking for X11 header files
checking for X11 library archive
checking for XOpenDisplay in -lX11... (cached) yes
checking for XShmAttach in -lXext... (cached) yes
checking for libtcldbg...
-R/user/lh050479/raj/ns/tcl-debug-2.0
-L/user/lh050479/raj/ns/tcl-debug-2.0 -ltcldbg
checking dmalloc... not requested with --with-dmalloc
checking for perl... /pool/local/bin
checking for ANSI C header files... (cached) yes
checking for bcopy... (cached) yes
checking for bzero... (cached) yes
checking for fesetprecision... (cached) no
checking for getrusage... (cached) yes
checking for sbrk... (cached) yes
checking for snprintf... (cached) yes
checking for arpa/inet.h... (cached) yes
checking for netinet/in.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for net/ethernet.h... (cached) no
checking return type of random... long
checking for int8_t... (cached) yes
checking for int16_t... (cached) yes
checking for int32_t... (cached) yes
checking for u_int8_t... (cached) no
checking for u_int16_t... (cached) no
checking for u_int32_t... (cached) no
checking for strtoq... (cached) no
checking for strtoll... (cached) yes
checking size of long... (cached) 4
checking for __int64_t... no
checking for long long... yes
checking for int64_t... (cached) yes
checking which kind of 64-bit int to use... int64_t
checking for struct ether_header... not found
checking for struct ether_addr... not found
checking for addr2ascii... (cached) no
Explicitly disabling static compilation
checking for main in -ldl... (cached) yes
checking for a BSD compatible install... (cached)
/pool/local/bin/install -c 
creating ./config.status
creating Makefile
creating tcl/lib/ns-autoconf.tcl
creating indep-utils/webtrace-conv/ucb/Makefile
creating indep-utils/webtrace-conv/dec/Makefile
creating indep-utils/webtrace-conv/nlanr/Makefile
creating indep-utils/webtrace-conv/epa/Makefile
creating indep-utils/cmu-scen-gen/setdest/Makefile
creating autoconf.h
autoconf.h is unchanged
/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a>

Makefile:

...copyright stuff....
# @(#) $Header:
/nfs/jade/vint/CVSROOT/ns-2/Makefile.in,v 1.218
2001/05/23 16:37:10 haldar Exp $ (LBL)

#
# Various configurable paths (remember to edit
Makefile.in, not Makefile)
#

# Top level hierarchy
prefix	= @prefix@
# Pathname of directory to install the binary
BINDEST	= @prefix@/bin
# Pathname of directory to install the man page
MANDEST	= @prefix@/man

BLANK	= # make a blank space.  DO NOT add anything to
this line

# The following will be redefined under Windows (see
WIN32 lable below)
CC	= @CC@
CPP	= @CXX@
LINK	= $(CPP)
MKDEP	= ./conf/mkdep
TCLSH	= @V_TCLSH@
TCL2C	= @V_TCL2CPP@
AR	= ar rc $(BLANK)

RANLIB	= @V_RANLIB@
INSTALL	= @INSTALL@
LN	= ln
TEST	= test
RM	= rm -f
PERL	= @PERL@


CCOPT	= @V_CCOPT@
STATIC	= @V_STATIC@
LDFLAGS	= $(STATIC)
LDOUT	= -o $(BLANK)

DEFINE	= -DTCP_DELAY_BIND_ALL -DNO_TK -DNIXVECTOR
@V_DEFINE@ @V_DEFINES@ @DEFS@

INCLUDES = \
	-I. @V_INCLUDE_X11@ \
	@V_INCLUDES@

LIB	= \
	@V_LIBS@ \
	@V_LIB_X11@ \
	@V_LIB@ \
	-lm @LIBS@
#	-L@libdir@ \

CFLAGS	= $(CCOPT) $(DEFINE)

# Explicitly define compilation rules since SunOS 4's
make doesn't like gcc.
# Also, gcc does not remove the .o before forking
'as', which can be a
# problem if you don't own the file but can write to
the directory.
.SUFFIXES: .cc	# $(.SUFFIXES)

.cc.o:
	@rm -f $@
	$(CPP) -c $(CFLAGS) $(INCLUDES) -o $@ $*.cc

.c.o:
	@rm -f $@
	$(CC) -c $(CFLAGS) $(INCLUDES) -o $@ $*.c


GEN_DIR	= gen/
LIB_DIR	= lib/
NS	= ns
NSX	= nsx
NSE	= nse

# To allow conf/makefile.win overwrite this macro
# We will set these two macros to empty in
conf/makefile.win since VC6.0
# does not seem to support the STL in gcc 2.8 and up. 
OBJ_STL = linkstate/ls.o linkstate/rtProtoLS.o
NS_TCL_LIB_STL = tcl/rtglib/ns-rtProtoLS.tcl

# WIN32: uncomment the following line to include
specific make for VC++
# !include <conf/makefile.win>

OBJ_CC = \
	random.o rng.o ranvar.o misc.o timer-handler.o \
	scheduler.o object.o \
	packet.o ip.o route.o connector.o ttl.o \
	trace.o trace-ip.o \
	classifier.o classifier-addr.o classifier-hash.o
classifier-virtual.o \
	classifier-mcast.o classifier-bst.o
classifier-mpath.o replicator.o \
	classifier-mac.o classifier-port.o
src_rtg/classifier-sr.o \
        src_rtg/sragent.o src_rtg/hdr_src.o ump.o \
	app.o telnet.o tcplib-telnet.o \
	trafgen.o traffictrace.o pareto.o expoo.o
cbr_traffic.o \
	tbf.o resv.o sa.o saack.o \
	measuremod.o estimator.o adc.o ms-adc.o
timewindow-est.o acto-adc.o \
        pointsample-est.o salink.o actp-adc.o hb-adc.o
expavg-est.o\
	param-adc.o null-estimator.o \
	adaptive-receiver.o vatrcvr.o consrcvr.o \
	agent.o message.o udp.o session-rtp.o rtp.o rtcp.o
ivs.o \
	tcp.o tcp-sink.o tcp-reno.o tcp-newreno.o \
	tcp-vegas.o tcp-rbp.o tcp-full.o \
	baytcp/tcp-full-bay.o baytcp/ftpc.o baytcp/ftps.o \
	scoreboard.o tcp-sack1.o tcp-fack.o \
	tcp-asym.o tcp-asym-sink.o tcp-fs.o tcp-asym-fs.o \
	tcp-int.o chost.o tcp-session.o nilist.o \
	integrator.o queue-monitor.o flowmon.o loss-monitor.o
\
	queue.o drop-tail.o simple-intserv-sched.o red.o \
	semantic-packetqueue.o semantic-red.o ack-recons.o \
	sfq.o fq.o drr.o cbq.o \
	hackloss.o errmodel.o fec.o\
	delay.o snoop.o \
	gaf/gaf.o \
	dynalink.o rtProtoDV.o net-interface.o \
	ctrMcast.o mcast_ctrl.o srm.o \
	sessionhelper.o delaymodel.o srm-ssm.o \
	srm-topo.o \
	mftp.o mftp_snd.o mftp_rcv.o codeword.o \
	alloc-address.o address.o \
	$(LIB_DIR)int.Vec.o $(LIB_DIR)int.RVec.o \
	$(LIB_DIR)dmalloc_support.o \
	webcache/http.o webcache/tcp-simple.o
webcache/pagepool.o \
	webcache/inval-agent.o webcache/tcpapp.o
webcache/http-aux.o \
	webcache/mcache.o webcache/webtraf.o \
	realaudio/realaudio.o \
	lanRouter.o filter.o pkt-counter.o \
	Decapsulator.o Encapsulator.o encap.o \
	channel.o mac.o ll.o mac-802_11.o mac-802_3.o
mac-tdma.o \
	mip.o mip-reg.o gridkeeper.o \
	propagation.o tworayground.o antenna.o omni-antenna.o
\
	shadowing.o bi-connector.o node.o mobilenode.o \
	arp.o god.o dem.o topography.o modulation.o
priqueue.o \
	phy.o wired-phy.o wireless-phy.o \
	mac-timers.o cmu-trace.o varp.o \
	dsdv/dsdv.o dsdv/rtable.o rtqueue.o rttable.o \
	imep/imep.o imep/dest_queue.o imep/imep_api.o \
	imep/imep_rt.o imep/rxmit_queue.o imep/imep_timers.o
\
	imep/imep_util.o imep/imep_io.o \
	tora/tora.o tora/tora_api.o tora/tora_dest.o
tora/tora_io.o \
	tora/tora_logs.o tora/tora_neighbor.o \
	dsr/dsragent.o dsr/hdr_sr.o dsr/mobicache.o
dsr/path.o \
	dsr/requesttable.o dsr/routecache.o \
	aodv/aodv_logs.o aodv/aodv.o \
	ns-process.o \
	satgeometry.o sathandoff.o satlink.o satnode.o \
	satposition.o satroute.o sattrace.o \
	rap/raplist.o rap/rap.o rap/media-app.o
rap/utilities.o \
	fsm.o tcp-abs.o \
	diffusion/diffusion.o diffusion/diff_rate.o
diffusion/diff_prob.o \
	diffusion/diff_sink.o diffusion/flooding.o
diffusion/omni_mcast.o \
	diffusion/hash_table.o diffusion/routing_table.o
diffusion/iflist.o \
	tfrc.o tfrc-sink.o energy-model.o ping.o
tcp-rfc793edu.o \
	rio.o semantic-rio.o tcp-sack-rh.o scoreboard-rh.o \
	plm/loss-monitor-plm.o plm/cbr-traffic-PP.o \
	linkstate/hdr-ls.o \
	mpls/classifier-addr-mpls.o mpls/ldp.o
mpls/mpls-module.o \
	rtmodule.o classifier-hier.o addr-params.o \
         nix/hdr_nv.o nix/classifier-nix.o \
         nix/nixnode.o \
         routealgo/rnode.o \
         routealgo/bfs.o \
         routealgo/rbitmap.o \
         routealgo/rlookup.o \
         routealgo/routealgo.o \
         nix/nixvec.o \
	nix/nixroute.o \
	diffserv/dsred.o diffserv/dsEdge.o diffserv/dsCore.o
diffserv/dsPolicy.o diffserv/dsredq.o \
	red-pd.o \
	pushback/rate-limit.o pushback/rate-limit-strategy.o
\
	pushback/ident-tree.o pushback/agg-spec.o \
	pushback/logging-data-struct.o
pushback/rate-estimator.o \
	pushback/pushback-queue.o pushback/pushback.o \
	parentnode.o \
	basetrace.o \
	simulator.o \
	@V_STLOBJ@


# don't allow comments to follow continuation lines

#  mac-csma.o mac-multihop.o\
#	sensor-nets/landmark.o mac-simple-wireless.o \
#	sensor-nets/tags.o sensor-nets/sensor-query.o \
#	sensor-nets/flood-agent.o \

# what was here before is now in emulate/
OBJ_C =

OBJ_COMPAT = $(OBJ_GETOPT) win32.o
#XXX compat/win32x.o compat/tkConsole.o

OBJ_EMULATE_CC = \
	emulate/net-ip.o \
	emulate/net.o \
	emulate/tap.o \
	emulate/ether.o \
	emulate/internet.o \
	emulate/ping_responder.o \
	emulate/arp.o \
	emulate/icmp.o \
	emulate/net-pcap.o \
	emulate/nat.o  \
	emulate/iptap.o \
	emulate/tcptap.o

OBJ_EMULATE_C = \
	emulate/inet.o

OBJ_GEN = $(GEN_DIR)version.o $(GEN_DIR)ns_tcl.o
$(GEN_DIR)ptypes.o

SRC =	$(OBJ_C:.o=.c) $(OBJ_CC:.o=.cc) \
	$(OBJ_EMULATE_C:.o=.c) $(OBJ_EMULATE_CC:.o=.cc) \
	tclAppInit.cc tkAppInit.cc 

OBJ =	$(OBJ_C) $(OBJ_CC) $(OBJ_GEN) $(OBJ_COMPAT)

CLEANFILES = ns nse nsx ns.dyn $(OBJ)
$(OBJ_EMULATE_CC) \
	$(OBJ_EMULATE_C) tclAppInit.o \
	$(GEN_DIR)* $(NS).core core core.$(NS) core.$(NSX)
core.$(NSE) \
	ptypes2tcl ptypes2tcl.o 

SUBDIRS=\
	indep-utils/cmu-scen-gen/setdest \
	indep-utils/webtrace-conv/dec \
	indep-utils/webtrace-conv/epa \
	indep-utils/webtrace-conv/nlanr \
	indep-utils/webtrace-conv/ucb

all: $(NS) all-recursive

all-recursive:
	for i in $(SUBDIRS); do ( cd $$i; $(MAKE) all; ) done

$(NS): $(OBJ) tclAppInit.o Makefile
	$(LINK) $(LDFLAGS) $(LDOUT)$@ \
		tclAppInit.o $(OBJ) $(LIB)

Makefile: Makefile.in
	@echo "Makefile.in is newer than Makefile."
	@echo "You need to re-run configure."
	false

$(NSE): $(OBJ) tclAppInit.o $(OBJ_EMULATE_CC)
$(OBJ_EMULATE_C)
	$(LINK) $(LDFLAGS) $(LDOUT)$@ \
		tclAppInit.o $(OBJ) \
		$(OBJ_EMULATE_CC) $(OBJ_EMULATE_C)  $(LIB) -lpcap

ns.dyn: $(OBJ) tclAppInit.o
	$(LINK) $(LDFLAGS) -o $@ \
		tclAppInit.o $(OBJ) $(LIB)

PURIFY	= purify -cache-dir=/tmp
ns-pure: $(OBJ) tclAppInit.o
	$(PURIFY) $(LINK) $(LDFLAGS) -o $@ \
		tclAppInit.o $(OBJ) $(LIB)

NS_TCL_LIB = \
	tcl/lib/ns-compat.tcl \
	tcl/lib/ns-default.tcl \
	tcl/lib/ns-errmodel.tcl \
	tcl/lib/ns-lib.tcl \
	tcl/lib/ns-link.tcl \
	tcl/lib/ns-mobilenode.tcl \
	tcl/lib/ns-sat.tcl \
	tcl/lib/ns-cmutrace.tcl \
	tcl/lib/ns-node.tcl \
	tcl/lib/ns-rtmodule.tcl \
	tcl/lib/ns-hiernode.tcl \
	tcl/lib/ns-packet.tcl \
	tcl/lib/ns-queue.tcl \
	tcl/lib/ns-source.tcl \
	tcl/lib/ns-nam.tcl \
	tcl/lib/ns-trace.tcl \
	tcl/lib/ns-agent.tcl \
	tcl/lib/ns-random.tcl \
	tcl/lib/ns-namsupp.tcl \
	tcl/lib/ns-address.tcl \
	tcl/lib/ns-intserv.tcl \
	tcl/lib/ns-autoconf.tcl \
	tcl/rtp/session-rtp.tcl \
	tcl/lib/ns-mip.tcl \
	tcl/rtglib/dynamics.tcl \
	tcl/rtglib/route-proto.tcl \
	tcl/rtglib/algo-route-proto.tcl \
	tcl/rtglib/ns-rtProtoLS.tcl \
        tcl/interface/ns-iface.tcl \
	tcl/mcast/BST.tcl \
        tcl/mcast/ns-mcast.tcl \
        tcl/mcast/McastProto.tcl \
        tcl/mcast/DM.tcl \
	tcl/mcast/srm.tcl \
	tcl/mcast/srm-adaptive.tcl \
	tcl/mcast/srm-ssm.tcl \
	tcl/mcast/timer.tcl \
	tcl/mcast/McastMonitor.tcl \
	tcl/mcast/mftp_snd.tcl \
	tcl/mcast/mftp_rcv.tcl \
	tcl/mcast/mftp_rcv_stat.tcl \
	tcl/mobility/dsdv.tcl \
	tcl/mobility/dsr.tcl \
        tcl/ctr-mcast/CtrMcast.tcl \
        tcl/ctr-mcast/CtrMcastComp.tcl \
        tcl/ctr-mcast/CtrRPComp.tcl \
	tcl/rlm/rlm.tcl \
	tcl/rlm/rlm-ns.tcl \
	tcl/session/session.tcl \
	tcl/lib/ns-route.tcl \
	tcl/emulate/ns-emulate.tcl \
	tcl/lan/vlan.tcl \
	tcl/lan/abslan.tcl \
	tcl/lan/ns-ll.tcl \
	tcl/lan/ns-mac.tcl \
	tcl/webcache/http-agent.tcl \
	tcl/webcache/http-server.tcl \
	tcl/webcache/http-cache.tcl \
	tcl/webcache/http-mcache.tcl \
	tcl/webcache/webtraf.tcl \
	tcl/plm/plm.tcl \
	tcl/plm/plm-ns.tcl \
	tcl/plm/plm-topo.tcl \
	tcl/mpls/ns-mpls-classifier.tcl \
	tcl/mpls/ns-mpls-ldpagent.tcl \
	tcl/mpls/ns-mpls-node.tcl \
	tcl/mpls/ns-mpls-simulator.tcl \
	tcl/lib/ns-pushback.tcl \
	tcl/lib/ns-srcrt.tcl \
	@V_NS_TCL_LIB_STL@

$(GEN_DIR)ns_tcl.cc: $(NS_TCL_LIB)
	$(TCLSH) bin/tcl-expand.tcl tcl/lib/ns-lib.tcl
@V_NS_TCL_LIB_STL@ | $(TCL2C) et_ns_lib > $@

$(GEN_DIR)version.c: VERSION
	$(RM) $@
	$(TCLSH) bin/string2c.tcl version_string < VERSION >
$@

$(GEN_DIR)ptypes.cc: ptypes2tcl packet.h
	./ptypes2tcl > $@

ptypes2tcl: ptypes2tcl.o
	$(LINK) $(LDFLAGS) $(LDOUT)$@ ptypes2tcl.o

ptypes2tcl.o: ptypes2tcl.cc packet.h

install: force install-ns install-man
install-recursive

install-ns: force
	$(INSTALL) -m 555 -o bin -g bin ns
$(DESTDIR)$(BINDEST)

install-man: force
	$(INSTALL) -m 444 -o bin -g bin ns.1
$(DESTDIR)$(MANDEST)/man1

install-recursive: force
	for i in $(SUBDIRS); do ( cd $$i; $(MAKE) install; )
done

clean:
	$(RM) $(CLEANFILES)

AUTOCONF_GEN = tcl/lib/ns-autoconf.tcl
distclean:
	$(RM) $(CLEANFILES) Makefile config.cache config.log
config.status \
	    gnuc.h os-proto.h $(AUTOCONF_GEN)

tags:	force
	ctags -wtd *.cc *.h webcache/*.cc webcache/*.h
dsdv/*.cc dsdv/*.h \
	dsr/*.cc dsr/*.h webcache/*.cc webcache/*.h lib/*.cc
lib/*.h \
	../Tcl/*.cc ../Tcl/*.h 

TAGS:	force
	etags *.cc *.h webcache/*.cc webcache/*.h dsdv/*.cc
dsdv/*.h \
	dsr/*.cc dsr/*.h webcache/*.cc webcache/*.h lib/*.cc
lib/*.h \
	../Tcl/*.cc ../Tcl/*.h

tcl/lib/TAGS:	force
	( \
		cd tcl/lib; \
		$(TCLSH) ../../bin/tcl-expand.tcl ns-lib.tcl | grep
'^### tcl-expand.tcl: begin' | awk '{print $$5}'
>.tcl_files; \
		etags --lang=none -r '/^[ \t]*proc[ \t]+\([^
\t]+\)/\1/' `cat .tcl_files`; \
		etags --append --lang=none -r '/^\([A-Z][^ \t]+\)[
\t]+\(instproc\|proc\)[ \t]+\([^ \t]+\)[ \t]+/\1::\3/'
`cat .tcl_files`; \
	)

depend: $(SRC)
	$(MKDEP) $(CFLAGS) $(INCLUDES) $(SRC)

srctar:
	@cwd=`pwd` ; dir=`basename $$cwd` ; \
	    name=ns-`cat VERSION | tr A-Z a-z` ; \
	    tar=ns-src-`cat VERSION`.tar.gz ; \
	    list="" ; \
	    for i in `cat FILES` ; do list="$$list
$$name/$$i" ; done; \
	    echo \
	    "(rm -f $$tar; cd .. ; ln -s $$dir $$name)" ; \
	     (rm -f $$tar; cd .. ; ln -s $$dir $$name) ; \
	    echo \
	    "(cd .. ; tar cfh $$tar [lots of files])" ; \
	     (cd .. ; tar cfh - $$list) | gzip -c > $$tar ; \
	    echo \
	    "rm ../$$name; chmod 444 $$tar" ;  \
	     rm ../$$name; chmod 444 $$tar

force:

test:	force
	./validate

# Create makefile.vc for Win32 development by
replacing:
# "# !include ..." 	-> 	"!include ..."
makefile.vc:	Makefile.in
	$(PERL) bin/gen-vcmake.pl < Makefile.in > makefile.vc
#	$(PERL) -pe 's/^# (\!include)/\!include/o' <
Makefile.in > makefile.vc



compilation output:

/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a>make
/user/lh050479/raj/ns/ns-allinone-2.1b8a/bin/tclsh8.3
bin/tcl-expand.tcl tcl/lib/ns-lib.tcl
tcl/rtglib/ns-rtProtoLS.tcl | ../tclcl-1.0b11/tcl2c++
et_ns_lib > gen/ns_tcl.cc
c++ -c -g -Wall -DTCP_DELAY_BIND_ALL -DNO_TK
-DNIXVECTOR -DTCLCL_CLASSINSTVAR  -fsigned-char
-fno-inline -DHAVE_STL -mv8 -msupersparc -D__svr4__
-DUSE_SHM -DHAVE_LIBTCLDBG -DHAVE_LIBTCLCL
-DHAVE_TCLCL_H -DHAVE_LIBOTCL1_0A7 -DHAVE_OTCL_H
-DHAVE_LIBTK8_3 -DHAVE_TK_H -DHAVE_LIBTCL8_3
-DHAVE_TCL_H  -DHAVE_CONFIG_H -I.
-I/user/lh050479/raj/ns/ns-allinone-2.1b8a/tclcl-1.0b11
-I/user/lh050479/raj/ns/ns-allinone-2.1b8a/otcl-1.0a7
-I/user/lh050479/raj/ns/ns-allinone-2.1b8a/include
-I/user/lh050479/raj/ns/ns-allinone-2.1b8a/include -o
gen/ns_tcl.o gen/ns_tcl.cc
c++  -o ns \
        tclAppInit.o  random.o rng.o ranvar.o misc.o
timer-handler.o scheduler.o object.o packet.o ip.o
route.o connector.o ttl.o trace.o trace-ip.o
classifier.o classifier-addr.o classifier-hash.o
classifier-virtual.o classifier-mcast.o
classifier-bst.o classifier-mpath.o replicator.o
classifier-mac.o classifier-port.o
src_rtg/classifier-sr.o src_rtg/sragent.o
src_rtg/hdr_src.o ump.o app.o telnet.o tcplib-telnet.o
trafgen.o traffictrace.o pareto.o expoo.o
cbr_traffic.o tbf.o resv.o sa.o saack.o measuremod.o
estimator.o adc.o ms-adc.o timewindow-est.o acto-adc.o
pointsample-est.o salink.o actp-adc.o hb-adc.o
expavg-est.o param-adc.o null-estimator.o
adaptive-receiver.o vatrcvr.o consrcvr.o agent.o
message.o udp.o session-rtp.o rtp.o rtcp.o ivs.o tcp.o
tcp-sink.o tcp-reno.o tcp-newreno.o tcp-vegas.o
tcp-rbp.o tcp-full.o baytcp/tcp-full-bay.o
baytcp/ftpc.o baytcp/ftps.o scoreboard.o tcp-sack1.o
tcp-fack.o tcp-asym.o tcp-asym-sink.o tcp-fs.o
tcp-asym-fs.o tcp-int.o chost.o tcp-session.o nilist.o
integrator.o queue-monitor.o flowmon.o loss-monitor.o
queue.o drop-tail.o simple-intserv-sched.o red.o
semantic-packetqueue.o semantic-red.o ack-recons.o
sfq.o fq.o drr.o cbq.o hackloss.o errmodel.o fec.o
delay.o snoop.o gaf/gaf.o dynalink.o rtProtoDV.o
net-interface.o ctrMcast.o mcast_ctrl.o srm.o
sessionhelper.o delaymodel.o srm-ssm.o srm-topo.o
mftp.o mftp_snd.o mftp_rcv.o codeword.o
alloc-address.o address.o lib/int.Vec.o lib/int.RVec.o
lib/dmalloc_support.o webcache/http.o
webcache/tcp-simple.o webcache/pagepool.o
webcache/inval-agent.o webcache/tcpapp.o
webcache/http-aux.o webcache/mcache.o
webcache/webtraf.o realaudio/realaudio.o lanRouter.o
filter.o pkt-counter.o Decapsulator.o Encapsulator.o
encap.o channel.o mac.o ll.o mac-802_11.o mac-802_3.o
mac-tdma.o mip.o mip-reg.o gridkeeper.o propagation.o
tworayground.o antenna.o omni-antenna.o shadowing.o
bi-connector.o node.o mobilenode.o arp.o god.o dem.o
topography.o modulation.o priqueue.o phy.o wired-phy.o
wireless-phy.o mac-timers.o cmu-trace.o varp.o
dsdv/dsdv.o dsdv/rtable.o rtqueue.o rttable.o
imep/imep.o imep/dest_queue.o imep/imep_api.o
imep/imep_rt.o imep/rxmit_queue.o imep/imep_timers.o
imep/imep_util.o imep/imep_io.o tora/tora.o
tora/tora_api.o tora/tora_dest.o tora/tora_io.o
tora/tora_logs.o tora/tora_neighbor.o dsr/dsragent.o
dsr/hdr_sr.o dsr/mobicache.o dsr/path.o
dsr/requesttable.o dsr/routecache.o aodv/aodv_logs.o
aodv/aodv.o ns-process.o satgeometry.o sathandoff.o
satlink.o satnode.o satposition.o satroute.o
sattrace.o rap/raplist.o rap/rap.o rap/media-app.o
rap/utilities.o fsm.o tcp-abs.o diffusion/diffusion.o
diffusion/diff_rate.o diffusion/diff_prob.o
diffusion/diff_sink.o diffusion/flooding.o
diffusion/omni_mcast.o diffusion/hash_table.o
diffusion/routing_table.o diffusion/iflist.o tfrc.o
tfrc-sink.o energy-model.o ping.o tcp-rfc793edu.o
rio.o semantic-rio.o tcp-sack-rh.o scoreboard-rh.o
plm/loss-monitor-plm.o plm/cbr-traffic-PP.o
linkstate/hdr-ls.o mpls/classifier-addr-mpls.o
mpls/ldp.o mpls/mpls-module.o rtmodule.o
classifier-hier.o addr-params.o nix/hdr_nv.o
nix/classifier-nix.o nix/nixnode.o routealgo/rnode.o
routealgo/bfs.o routealgo/rbitmap.o
routealgo/rlookup.o routealgo/routealgo.o nix/nixvec.o
nix/nixroute.o diffserv/dsred.o diffserv/dsEdge.o
diffserv/dsCore.o diffserv/dsPolicy.o
diffserv/dsredq.o red-pd.o pushback/rate-limit.o
pushback/rate-limit-strategy.o pushback/ident-tree.o
pushback/agg-spec.o pushback/logging-data-struct.o
pushback/rate-estimator.o pushback/pushback-queue.o
pushback/pushback.o parentnode.o basetrace.o
simulator.o linkstate/ls.o linkstate/rtProtoLS.o
gen/version.o gen/ns_tcl.o gen/ptypes.o  win32.o
-R/user/lh050479/raj/ns/tcl-debug-2.0
-L/user/lh050479/raj/ns/tcl-debug-2.0 -ltcldbg
-R../tclcl-1.0b11
-L/user/lh050479/raj/ns/ns-allinone-2.1b8a/tclcl-1.0b11
-ltclcl -R../otcl-1.0a7
-L/user/lh050479/raj/ns/ns-allinone-2.1b8a/otcl-1.0a7
-lotcl -R../lib
-L/user/lh050479/raj/ns/ns-allinone-2.1b8a/lib -ltk8.3
-R../lib
-L/user/lh050479/raj/ns/ns-allinone-2.1b8a/lib
-ltcl8.3 -lXext -lX11 -lsocket -lnsl -lintl -ldl -ldl
-lm -ldl 
for i in indep-utils/cmu-scen-gen/setdest
indep-utils/webtrace-conv/dec
indep-utils/webtrace-conv/epa
indep-utils/webtrace-conv/nlanr
indep-utils/webtrace-conv/ucb; do ( cd $i; make all; )
done
make[1]: Entering directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/cmu-scen-gen/setdest'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/cmu-scen-gen/setdest'
make[1]: Entering directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/dec'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/dec'
make[1]: Entering directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/epa'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/epa'
make[1]: Entering directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/nlanr'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/nlanr'
make[1]: Entering directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/ucb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory
`/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a/indep-utils/webtrace-conv/ucb'
/user/lh050479/raj/ns/ns-allinone-2.1b8a/ns-2.1b8a>

__________________________________________________
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com