473,406 Members | 2,894 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

adding a new protocol with ns2.34

hi everyone.....
recently im trying to integrate code for routing protocol with ns2.34 for this i made possible changes with certain files in ns2.34/queue/priqueue.cc
ns2.34/common/packet.h
ns2.34/tcl/lib/ns-agent.tcl
ns2.34/tcl/lib/ns-packet.tcl
ns2.34/tcl/lib/ns-lib.tcl
ns2.34/tcl/lib/ns-mobilenode.tcl
after all this changes im getting some error in ns2.34/mac/wireless-phy.h --> im changed enum ChannelStatus { SLEEP, IDLE, RECV, SEND }; to enum ChannelStatus { SLEEP, IDLE, RRECV, SSEND };


after this im compiled the makefile..one of the object file for the protocol is created and getting some error in creating next one.....
i need to know what are all the changes to be done with mac/wireless-phy.cc and wireless-phy.h
Mar 5 '14 #1
9 5218
weaknessforcats
9,208 Expert Mod 8TB
Are there two of these:

Expand|Select|Wrap|Line Numbers
  1. changed enum ChannelStatus { SLEEP, IDLE, RECV, SEND }; to enum ChannelStatus { SLEEP, IDLE, RRECV, SSEND };
  2.  
?

One of them looks like RECV is misspelled. In any case there should ony ever be one enum for ChannelStatus.
Mar 6 '14 #2
hi...
im done this changes and compiled the makefile..one of the object file is created and one more object file is not generated...
im getting this error..


ter_core -I./asim/ -I./qs -I./diffserv -I./satellite -I./wpan -o mobileExOR/mobileExOR_table.o mobileExOR/mobileExOR_table.cc
mobileExOR/mobileExOR_table.cc: In constructor ‘Neighbor_element::Neighbor_element(nsaddr_t, double, Nbr_rssi_head_struct*, u_int8_t)’:
mobileExOR/mobileExOR_table.cc:38:62: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
mobileExOR/mobileExOR_table.cc: In member function ‘void Mobileexor_data::prepare_rssi_list(Neighbor_table& )’:
mobileExOR/mobileExOR_table.cc:566:58: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
mobileExOR/mobileExOR_table.cc: In destructor ‘Forwarder_cache_element::~Forwarder_cache_element ()’:
mobileExOR/mobileExOR_table.cc:1505:17: warning: unused variable ‘tmp’ [-Wunused-variable]
mobileExOR/mobileExOR_table.cc: In member function ‘void Forwarder_cache_element::clear_packets_in_cache_el ement(int)’:
mobileExOR/mobileExOR_table.cc:1520:60: error: ‘DROP_ODF_MANY_TIME_NO_PROGRESS’ was not declared in this scope
mobileExOR/mobileExOR_table.cc: In member function ‘void Forwarder_cache_timer::init_by_higher_pkt(Cached_p acket*, int)’:
mobileExOR/mobileExOR_table.cc:1831:7: warning: unused variable ‘is_known_transmitter_’ [-Wunused-variable]
make: *** [mobileExOR/mobileExOR_table.o] Error 1
Mar 8 '14 #3
weaknessforcats
9,208 Expert Mod 8TB
There are warnings but only one error:

Expand|Select|Wrap|Line Numbers
  1. mobileExOR/mobileExOR_table.cc: In member function ‘void mobileExOR/mobileExOR_table.cc:1520:60: error: ‘DROP_ODF_MANY_TIME_NO_PROGRESS’ was not declared in Forwarder_cache_element::clear_packets_in_cache_el ement(int)’:
  2. this scope
here is a function in the file mobileExOR_table.cc named :

Expand|Select|Wrap|Line Numbers
  1. Forwarder_cache_element::clear_packets_in_cache_el ement(int)
That function references DROP_ODF_MANY_TIME_NO_PROGRESS and this does not exist or is defined somewhere inaccessible by the function.

Look on line 1520. The error is there or earlier.
Mar 8 '14 #4
thank u very much.........
both of the object file has been created and after that i got errors like this...pls help me to fix it


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 `/root/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/cmu-scen-gen/setdest'
make[1]: Entering directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/dec'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/dec'
make[1]: Entering directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/epa'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/epa'
make[1]: Entering directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/nlanr'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/nlanr'
make[1]: Entering directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/ucb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/ns-allinone-2.34/ns-2.34/indep-utils/webtrace-conv/ucb'
Mar 9 '14 #5
weaknessforcats
9,208 Expert Mod 8TB
There's a problem in the all section of your makefile. There's nothing to do there. The all si where you specify the name of your executable.

I'm not a makefile expert so here I would ask you read up on the make utility on the net. I would have to do the same thing anyway and just repeat what I read.
Mar 9 '14 #6
im not getting any solution for this error ..spending whole day in searching for this error..im not getting any proper solution...if an one knows pls help me
Mar 9 '14 #7
weaknessforcats
9,208 Expert Mod 8TB
Maybe you could post your makefile.
Mar 9 '14 #8
# Copyright (c) 1994, 1995, 1996
# The Regents of the University of California. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that: (1) source code distributions
# retain the above copyright notice and this paragraph in its entirety, (2)
# distributions including binary code include the above copyright notice and
# this paragraph in its entirety in the documentation or other materials
# provided with the distribution, and (3) all advertising materials mentioning
# features or use of this software display the following acknowledgement:
# ``This product includes software developed by the University of California,
# Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
# the University nor the names of its contributors may be used to endorse
# or promote products derived from this software without specific prior
# written permission.
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#) $Header: 2002/10/09 15:34:11

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

# Top level hierarchy
prefix = /usr/local
# Pathname of directory to install the binary
BINDEST = /usr/local/bin
# Pathname of directory to install the man page
MANDEST = /usr/local/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 = gcc
CPP = g++
LINK = $(CPP)
LINK_SHLIB = gcc -shared
MKDEP = ./conf/mkdep
TCLSH = /root/ns-allinone-2.34/bin/tclsh8.4
TCL2C = ../tclcl-1.19/tcl2c++
AR = ar rc $(BLANK)

RANLIB = ranlib
INSTALL = /usr/bin/install -c
LN = ln
TEST = test
RM = rm -f
MV = mv
PERL = /usr/bin/perl

# for diffusion
#DIFF_INCLUDES = "./diffusion3/main ./diffusion3/lib ./diffusion3/nr ./diffusion3/ns"

CCOPT = -Wall -Wno-write-strings
STATIC =
#LDFLAGS = $(STATIC)
LDFLAGS = -Wl,-export-dynamic
LDOUT = -o $(BLANK)

DEFINE = -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR -DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H -DHAVE_LIBOTCL1_13 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H -DHAVE_LIBTCL8_4 -DHAVE_TCLINT_H -DHAVE_TCL_H -DHAVE_CONFIG_H -DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test

INCLUDES = \
-I. \
-I. \
-I/root/ns-allinone-2.34/tclcl-1.19 -I/root/ns-allinone-2.34/otcl -I/root/ns-allinone-2.34/include -I/root/ns-allinone-2.34/include -I/root/ns-allinone-2.34/include -I/usr/include/pcap \
-I./tcp -I./sctp -I./common -I./link -I./queue \
-I./adc -I./apps -I./mac -I./mobile -I./trace \
-I./routing -I./tools -I./classifier -I./mcast \
-I./diffusion3/lib/main -I./diffusion3/lib \
-I./diffusion3/lib/nr -I./diffusion3/ns \
-I./diffusion3/filter_core -I./asim/ -I./qs \
-I./diffserv -I./satellite \
-I./wpan


LIB = \
-L/root/ns-allinone-2.34/tclcl-1.19 -ltclcl -L/root/ns-allinone-2.34/otcl -lotcl -L/root/ns-allinone-2.34/lib -ltk8.4 -L/root/ns-allinone-2.34/lib -ltcl8.4 \
-lXext -lX11 \
-lnsl -ldl \
-lm -lm
# -L${exec_prefix}/lib \

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
NSLIB = libns.so
NSX = nsx
NSE = nse
NSTK = nstk

# 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 = diffusion3/lib/nr/nr.o diffusion3/lib/dr.o \
diffusion3/filters/diffusion/one_phase_pull.o \
diffusion3/filters/diffusion/two_phase_pull.o \
diffusion3/lib/diffapp.o \
diffusion3/ns/diffagent.o diffusion3/ns/diffrtg.o \
diffusion3/ns/difftimer.o \
diffusion3/filter_core/filter_core.o \
diffusion3/filter_core/iolog.o \
diffusion3/filter_core/iostats.o \
diffusion3/lib/main/attrs.o \
diffusion3/lib/main/events.o \
diffusion3/lib/main/iodev.o \
diffusion3/lib/main/iohook.o \
diffusion3/lib/main/timers.o \
diffusion3/lib/main/message.o \
diffusion3/lib/main/tools.o \
diffusion3/apps/gear_examples/gear_common.o \
diffusion3/apps/gear_examples/gear_receiver.o \
diffusion3/apps/gear_examples/gear_sender.o \
diffusion3/apps/rmst_examples/rmst_sink.o \
diffusion3/apps/rmst_examples/rmst_source.o \
diffusion3/apps/ping/1pp_ping_sender.o \
diffusion3/apps/ping/1pp_ping_receiver.o \
diffusion3/apps/ping/2pp_ping_sender.o \
diffusion3/apps/ping/2pp_ping_receiver.o \
diffusion3/apps/ping/ping_common.o \
diffusion3/apps/ping/push_receiver.o \
diffusion3/apps/ping/push_sender.o \
diffusion3/filters/gear/gear_attr.o \
diffusion3/filters/gear/gear.o \
diffusion3/filters/gear/gear_tools.o \
diffusion3/filters/misc/log.o \
diffusion3/filters/misc/srcrt.o \
diffusion3/filters/misc/tag.o \
diffusion3/filters/rmst/rmst.o \
diffusion3/filters/rmst/rmst_filter.o \
delaybox/delaybox.o \
packmime/packmime_HTTP.o packmime/packmime_HTTP_rng.o \
packmime/packmime_OL.o packmime/packmime_OL_ranvar.o\
packmime/packmime_ranvar.o \
tmix/tmix.o tmix/tmix_delaybox.o

NS_TCL_LIB_STL = tcl/lib/ns-diffusion.tcl \
tcl/delaybox/delaybox.tcl \
tcl/packmime/packmime.tcl \
tcl/tmix/tmix.tcl \
tcl/tmix/tmix_delaybox.tcl


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

OBJ_CC = \
tools/random.o tools/rng.o tools/ranvar.o common/misc.o common/timer-handler.o \
common/scheduler.o common/object.o common/packet.o \
common/ip.o routing/route.o common/connector.o common/ttl.o \
trace/trace.o trace/trace-ip.o \
classifier/classifier.o classifier/classifier-addr.o \
classifier/classifier-hash.o \
classifier/classifier-virtual.o \
classifier/classifier-mcast.o \
classifier/classifier-bst.o \
classifier/classifier-mpath.o mcast/replicator.o \
classifier/classifier-mac.o \
classifier/classifier-qs.o \
classifier/classifier-port.o src_rtg/classifier-sr.o \
src_rtg/sragent.o src_rtg/hdr_src.o adc/ump.o \
qs/qsagent.o qs/hdr_qs.o \
apps/app.o apps/telnet.o tcp/tcplib-telnet.o \
tools/trafgen.o trace/traffictrace.o tools/pareto.o \
tools/expoo.o tools/cbr_traffic.o \
adc/tbf.o adc/resv.o adc/sa.o tcp/saack.o \
tools/measuremod.o adc/estimator.o adc/adc.o adc/ms-adc.o \
adc/timewindow-est.o adc/acto-adc.o \
adc/pointsample-est.o adc/salink.o adc/actp-adc.o \
adc/hb-adc.o adc/expavg-est.o\
adc/param-adc.o adc/null-estimator.o \
adc/adaptive-receiver.o apps/vatrcvr.o adc/consrcvr.o \
common/agent.o common/message.o apps/udp.o \
common/session-rtp.o apps/rtp.o tcp/rtcp.o \
common/ivs.o \
common/messpass.o common/tp.o common/tpm.o apps/worm.o \
tcp/tcp.o tcp/tcp-sink.o tcp/tcp-reno.o \
tcp/tcp-newreno.o \
tcp/tcp-vegas.o tcp/tcp-rbp.o tcp/tcp-full.o tcp/rq.o \
baytcp/tcp-full-bay.o baytcp/ftpc.o baytcp/ftps.o \
tcp/scoreboard.o tcp/scoreboard-rq.o tcp/tcp-sack1.o tcp/tcp-fack.o \
tcp/linux/tcp_naivereno.o\
tcp/linux/src/tcp_cong.o\
tcp/linux/src/tcp_highspeed.o tcp/linux/src/tcp_bic.o tcp/linux/src/tcp_htcp.o tcp/linux/src/tcp_scalable.o tcp/linux/src/tcp_cubic.o\
tcp/linux/src/tcp_westwood.o tcp/linux/src/tcp_vegas.o tcp/linux/src/tcp_hybla.o\
tcp/linux/src/tcp_illinois.o tcp/linux/src/tcp_yeah.o \
tcp/linux/src/tcp_veno.o tcp/linux/src/tcp_compound.o tcp/linux/src/tcp_lp.o\
tcp/scoreboard1.o tcp/tcp-linux.o tcp/linux/ns-linux-util.o tcp/linux/ns-linux-c.o tcp/linux/ns-linux-param.o\
tcp/tcp-asym.o tcp/tcp-asym-sink.o tcp/tcp-fs.o \
tcp/tcp-asym-fs.o \
tcp/tcp-int.o tcp/chost.o tcp/tcp-session.o \
tcp/nilist.o \
sctp/sctp.o apps/sctp_app1.o\
sctp/sctp-timestamp.o sctp/sctp-hbAfterRto.o \
sctp/sctp-multipleFastRtx.o sctp/sctp-mfrHbAfterRto.o \
sctp/sctp-mfrTimestamp.o \
sctp/sctp-cmt.o \
sctp/sctpDebug.o \
tools/integrator.o tools/queue-monitor.o \
tools/flowmon.o tools/loss-monitor.o \
queue/queue.o queue/drop-tail.o \
adc/simple-intserv-sched.o queue/red.o \
queue/semantic-packetqueue.o queue/semantic-red.o \
tcp/ack-recons.o \
queue/sfq.o queue/fq.o queue/drr.o queue/srr.o queue/cbq.o \
queue/jobs.o queue/marker.o queue/demarker.o \
link/hackloss.o queue/errmodel.o queue/fec.o\
link/delay.o tcp/snoop.o \
gaf/gaf.o \
link/dynalink.o routing/rtProtoDV.o common/net-interface.o \
mcast/ctrMcast.o mcast/mcast_ctrl.o mcast/srm.o \
common/sessionhelper.o queue/delaymodel.o \
mcast/srm-ssm.o mcast/srm-topo.o \
routing/alloc-address.o routing/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 \
webcache/webserver.o \
webcache/logweb.o \
empweb/empweb.o \
empweb/empftp.o \
realaudio/realaudio.o \
mac/lanRouter.o classifier/filter.o \
common/pkt-counter.o \
common/Decapsulator.o common/Encapsulator.o \
common/encap.o \
mac/channel.o mac/mac.o mac/ll.o mac/mac-802_11.o \
mac/mac-802_11Ext.o \
mac/mac-802_3.o mac/mac-tdma.o mac/smac.o \
mobile/mip.o mobile/mip-reg.o mobile/gridkeeper.o \
mobile/propagation.o mobile/tworayground.o \
mobile/nakagami.o \
mobile/antenna.o mobile/omni-antenna.o \
mobile/shadowing.o mobile/shadowing-vis.o mobile/dumb-agent.o \
common/bi-connector.o common/node.o \
common/mobilenode.o \
mac/arp.o mobile/god.o mobile/dem.o \
mobile/topography.o mobile/modulation.o \
queue/priqueue.o queue/dsr-priqueue.o \
mac/phy.o mac/wired-phy.o mac/wireless-phy.o \
mac/wireless-phyExt.o \
mac/mac-timers.o trace/cmu-trace.o mac/varp.o \
mac/mac-simple.o \
satellite/sat-hdlc.o \
dsdv/dsdv.o dsdv/rtable.o queue/rtqueue.o \
routing/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 dsr/add_sr.o \
dsr/dsr_proto.o dsr/flowstruct.o dsr/linkcache.o \
dsr/simplecache.o dsr/sr_forwarder.o \
aodv/aodv_logs.o aodv/aodv.o \
aodv/aodv_rtable.o aodv/aodv_rqueue.o \
aomdv/aomdv_logs.o aomdv/aomdv.o \
aomdv/aomdv_rtable.o aomdv/aomdv_rqueue.o \
common/ns-process.o \
satellite/satgeometry.o satellite/sathandoff.o \
satellite/satlink.o satellite/satnode.o \
satellite/satposition.o satellite/satroute.o \
satellite/sattrace.o \
rap/raplist.o rap/rap.o rap/media-app.o rap/utilities.o \
common/fsm.o tcp/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 \
tcp/tfrc.o tcp/tfrc-sink.o mobile/energy-model.o apps/ping.o tcp/tcp-rfc793edu.o \
queue/rio.o queue/semantic-rio.o tcp/tcp-sack-rh.o tcp/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 \
routing/rtmodule.o classifier/classifier-hier.o \
routing/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/dsredq.o \
diffserv/dsEdge.o diffserv/dsCore.o \
diffserv/dsPolicy.o diffserv/ew.o diffserv/dewp.o \
queue/red-pd.o queue/pi.o queue/vq.o queue/rem.o \
queue/gk.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 \
common/parentnode.o trace/basetrace.o \
common/simulator.o asim/asim.o \
common/scheduler-map.o common/splay-scheduler.o \
linkstate/ls.o linkstate/rtProtoLS.o \
pgm/classifier-pgm.o pgm/pgm-agent.o pgm/pgm-sender.o \
pgm/pgm-receiver.o mcast/rcvbuf.o \
mcast/classifier-lms.o mcast/lms-agent.o mcast/lms-receiver.o \
mcast/lms-sender.o \
queue/delayer.o \
xcp/xcpq.o xcp/xcp.o xcp/xcp-end-sys.o \
wpan/p802_15_4csmaca.o wpan/p802_15_4fail.o \
wpan/p802_15_4hlist.o wpan/p802_15_4mac.o \
wpan/p802_15_4nam.o wpan/p802_15_4phy.o \
wpan/p802_15_4sscs.o wpan/p802_15_4timer.o \
wpan/p802_15_4trace.o wpan/p802_15_4transac.o \
apps/pbc.o \
mobileExOR/mobileExOR.o mobileExOR/mobileExOR_table.o \
$(OBJ_STL)


# 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) common/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) \
common/tclAppInit.cc common/tkAppInit.cc

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

CLEANFILES = ns nse nsx ns.dyn $(OBJ) $(OBJ_EMULATE_CC) \
$(OBJ_EMULATE_C) common/tclAppInit.o \
common/tkAppInit.o nstk \
$(GEN_DIR)* $(NS).core core core.$(NS) core.$(NSX) core.$(NSE) \
common/ptypes2tcl common/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

BUILD_NSE =

all: $(NS) $(BUILD_NSE) $(NSTK) all-recursive Makefile


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




ifeq ($(NSLIB),libns.dll)

# This is for cygwin

NS_CPPFLAGS = -DNSLIBNAME=\"$(NSLIB)\"
NS_LIBS = -ldl

$(NSLIB): $(OBJ) common/tclAppInit.o
$(LINK) -shared $(LDFLAGS) \
$(LDOUT)$@ \
-Wl,--export-all-symbols \
-Wl,--enable-auto-import \
-Wl,--out-implib=$@.a \
-Wl,--whole-archive $^ \
-Wl,--no-whole-archive

$(NS): $(NSLIB) common/main-modular.cc
$(LINK) $(NS_CPPFLAGS) $(LDFLAGS) $(LDOUT)$@ common/main-modular.cc $(NS_LIBS)

else

# default for all systems but cygwin

$(NS): $(OBJ) common/tclAppInit.o common/main-monolithic.o
$(LINK) $(LDFLAGS) $(LDOUT)$@ $^ $(LIB)

endif



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

$(NSE): $(OBJ) common/tclAppInit.o common/main-monolithic.o $(OBJ_EMULATE_CC) $(OBJ_EMULATE_C)
$(LINK) $(LDFLAGS) $(LDOUT)$@ $^ $(LIB)

$(NSTK): $(OBJ) common/tkAppInit.o
$(LINK) $(LDFLAGS) $(LDOUT)$@ $^ $(LIB)

ns.dyn: $(OBJ) common/tclAppInit.o common/main-monolithic.o
$(LINK) $(LDFLAGS) -o $@ $^ $(LIB)

PURIFY = purify -cache-dir=/tmp
ns-pure: $(OBJ) common/tclAppInit.o common/main-monolithic.o
$(PURIFY) $(LINK) $(LDFLAGS) -o $@ $^ $(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/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/webcache/empweb.tcl \
tcl/webcache/empftp.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 \
tcl/mcast/ns-lms.tcl \
tcl/lib/ns-qsnode.tcl \
$(NS_TCL_LIB_STL)

$(GEN_DIR)ns_tcl.cc: $(NS_TCL_LIB)
$(TCLSH) bin/tcl-expand.tcl tcl/lib/ns-lib.tcl $(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: common/ptypes2tcl common/packet.h
./common/ptypes2tcl > $@

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

common/ptypes2tcl.o: common/ptypes2tcl.cc common/packet.h

dirs:
for d in $(DESTDIR)$(MANDEST)/man1; do \
if [ ! -d $$d ]; then \
mkdir -p $$d ;\
fi;\
done


install: dirs force install-ns install-man

install-ns: force
$(INSTALL) -m 755 ns $(DESTDIR)$(BINDEST)

install-man: force
$(INSTALL) -m 644 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: distclean-recursive
$(RM) $(CLEANFILES) Makefile config.cache config.log config.status \
autoconf.h gnuc.h os-proto.h $(AUTOCONF_GEN); \
$(MV) .configure .configure- ;\
echo "Moved .configure to .configure-"

distclean-recursive:
for i in $(SUBDIRS); do ( cd $$i; $(MAKE) clean; $(RM) Makefile; ) done

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) 2>&1 > /dev/null

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 cfhz $$tar [lots of files])" ; \
(cd .. ; tar cfhz - $$list) > $$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
Mar 10 '14 #9
You please add your protocol in inculde like this

-I.wpan \
-I.[your protocol] \




@ganesh3691
Apr 9 '14 #10

Sign in to post your reply or Sign up for a free account.

Similar topics

4
by: OJ | last post by:
Hi, This works to maximize the window, but wants to load yahoo locally : C:\WINDOWS\Desktop\www.yahoo.com <html> <script type="text/javaScript"> <!-- function test() { qwe =...
14
by: DaveC | last post by:
I know this is the wrong group but I need a little pointing in a direction please. I need to write an implementation of a yet to be published protocol. It is transported over the internet via...
1
by: tharaka | last post by:
Hi Guys, This is an idea for a PEP. How would you guys feel about adding decorator support for "everything"? Currently, only functions and method are supported. For example: @GuardedClass
4
by: Charles Law | last post by:
I have added a GIF to my project and wish to retrieve it using the res:// protocol. As an example, the first string below works, whilst the second does not. Const s1 As String =...
2
by: Dan | last post by:
Hi, How do I embed a picture (gif for instance) in a dll using VB.NET so that the picture can be used in a html page with the res protocol? I have tried adding pictures (as Embedded resources)...
0
by: Gary | last post by:
I'm using VB.net in Visual Studio .net 2005. I've created a web service and have it hosted on a private server (Windows 2003 - IIS 6.0). I can add the web service as a Web Refrrence, but it...
86
by: PTY | last post by:
Which is better? lst = while lst: lst.pop() OR while len(lst) 0:
6
by: affiliateian | last post by:
Total newbie here for this so please be patient. We manually update our XML feed when we publish an article on our website. Can we add a javascript tracking pixel (from phpadsnew) into the XML...
3
by: zslevi | last post by:
Can I access the class attributes from a method added at runtime? (My experience says no.) I experimented with the following code: class myclass(object): myattr = "myattr" instance =...
7
by: Chris | last post by:
Is there a way when a user fills out a form and it asks them to enter a website that it'll be reformatted with http:// in front of it if it isn't already there. i.e. domain.com would become...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.