Annexe D : Le fichier makemakefile
#
# Makefile to create all other makefiles for the project.
#
# CAREFUL: This file has to remain portable across Unix make and
Windows nmake!
#
# The vars ROOT, MAKEMAKE and EXT have to be specified
externally, on the 'make' command line.
#ROOT=d: /home/IPv6SuiteWithINET
#MAKEMAKE=opp_nmakemake
#EXT=.vc
# for compiled-in NED files, remove -N from OPTS, and switch to
the longer version of ALL_MODEL_OPTS below
# with omnetpp-3.2 or newer, if you want to build windows dlls,
add this to OPTS below: -PINET _API
OPTS=-f -N -b $(ROOT) -c $(ROOT)/inetconfig$(EXT) -I.
CONTRACT_INCLUDES=-I$ (ROOT) /Transport/Contract -I$ (ROOT)
/Network/Contract - I$(ROOT)/NetworkInterfaces/Contract -I$(ROOT)/Base
-I$(ROOT)/Util
ALL_INET_INCLUDES=$ (CONTRACT_INCLUDES) -I$ (ROOT) /Network/IPv4
- I$ (ROOT) /Network/AutoRouting -I$ (ROOT) /Network/Queue -
I$ (ROOT) /Network/Quagga -I$ (ROOT) /Network/OSPFv2 -
I$ (ROOT) /Network/OSPFv2/Interface -I$ (ROOT)
/Network/OSPFv2/MessageHandler - I$ (ROOT) /Network/OSPFv2/Neighbor -I$ (ROOT)
/Network/OSPFv2/Router -
I$ (ROOT) /Transport/TCP -I$ (ROOT) /Transport/TCP/flavours -
I$ (ROOT) /Transport/TCP/queues -I$ (ROOT) /Transport/RTP -
I$(ROOT)/Transport/UDP -I$(ROOT)/NetworkInterfaces -I$(ROOT)/Network/ARP - I$
(ROOT) /NetworkInterfaces/Ethernet -I$ (ROOT) /NetworkInterfaces/EtherSwitch
-I$(ROOT)/NetworkInterfaces/PPP -I$(ROOT)/Applications/Generic -
I$ (ROOT) /Applications/Ethernet -I$ (ROOT) /Applications/TCPApp
-
I$ (ROOT) /Applications/UDPApp -I$ (ROOT) /Applications/PingApp -
I$(ROOT)/Util/HeaderSerializers -I$(ROOT)/Nodes/INET - I$(ROOT)/Nodes/Wireless
-I$(ROOT)/Nodes/Adhoc
# -I$ (ROOT) /Applications/BRModel
ALL_MPLS_INCLUDES=-I$ (ROOT) /Network/MPLS -I$ (ROOT)
/Network/LDP -
I$ (ROOT) /Network/RSVP_TE -I$ (ROOT) /Network/TED -I$ (ROOT)
/Network/Extras - I$ (ROOT) /Nodes/MPLS
ALL_IPv6_INCLUDES=-I$ (ROOT) /Network/IPv6 -I$ (ROOT)
/Network/ICMPv6 - I$ (ROOT) /Nodes/IPv6
ALL_MF_INCLUDES=-I$ (ROOT) /World -I$ (ROOT) /Mobility -
I$(ROOT)/NetworkInterfaces/MFCore -I$(ROOT)/NetworkInterfaces/MF80211 - I$
(ROOT) /NetworkInterfaces/MF80211/macLayer -
I$ (ROOT) /NetworkInterfaces/MF80211/phyLayer -
I$ (ROOT) /NetworkInterfaces/MF80211/phyLayer/decider -
I$ (ROOT) /NetworkInterfaces/MF80211/phyLayer/snrEval -
I$ (ROOT) /NetworkInterfaces/Ieee80211 -
I$ (ROOT) /NetworkInterfaces/Ieee80211/Mac -
I$(ROOT)/NetworkInterfaces/Ieee80211/Mgmt -I$(ROOT)/NetworkInterfaces/Radio
#ALL_MODEL_OPTS=$ (OPTS) -w $ (ALL_INET_INCLUDES) $
(ALL_MPLS_INCLUDES) $ (ALL_IPv6_INCLUDES)
ALL_MODEL_OPTS=$ (OPTS) -n
#
# Example simulations don't contain C++ code, only NED, ini and
other config
# files, so they don't need Makefiles. They all invoke the
bin/INET executable.
#
all: inetbase
inetbase:
$(MAKEMAKE) $(OPTS) -n -r -X Documentation -X Etc -X Examples -X
Tests -X Experimental -X Obsolete -X tmp
cd bin && $(MAKEMAKE) $(OPTS) -w -o INET
$(ALL_INET_INCLUDES) $ (ALL_IPv6_INCLUDES) $ (ALL_MPLS_INCLUDES) $
(ALL_MF_INCLUDES)
cd Applications && $(MAKEMAKE) $(OPTS) -n -r cd Network
&& $(MAKEMAKE) $(OPTS) -n -r
cd NetworkInterfaces && $(MAKEMAKE) $(OPTS) -n -r cd
Nodes && $(MAKEMAKE) $(OPTS) -n -r
cd Transport && $(MAKEMAKE) $(OPTS) -n -r #-X RTP cd Base
&& $(MAKEMAKE) $(OPTS) -n -r -I. ./Util
cd Util && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES)
$ (ALL_IPv6_INCLUDES) $ (ALL_MPLS_INCLUDES) $
(ALL_MF_INCLUDES)
: # MF stuff follows
cd World && $(MAKEMAKE) $(OPTS) -n -r -I. ./Util
-I../Base
cd Mobility && $(MAKEMAKE) $(OPTS) -n -r -I. ./Util
-I../Base - I. ./World
cd NetworkInterfaces/MFCore && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I../. ./World
cd NetworkInterfaces/MF80211 && $(MAKEMAKE) $(OPTS) -n
-r
cd NetworkInterfaces/MF80211/macLayer && $(MAKEMAKE)
$(OPTS) -n $(CONTRACT_INCLUDES) -I../. ./MFCore -I. ./phyLayer/snrEval
cd NetworkInterfaces/MF80211/phyLayer && $(MAKEMAKE)
$(OPTS) -n -r cd NetworkInterfaces/MF80211/phyLayer/decider &&
$(MAKEMAKE) $(OPTS) -n $(CONTRACT_INCLUDES) -I. ./../. ./MFCore -I../.
./macLayer
cd NetworkInterfaces/MF80211/phyLayer/snrEval &&
$(MAKEMAKE) $(OPTS) -n $(CONTRACT_INCLUDES) -I. ./../. ./MFCore -I../.
./macLayer -
I. ./../. ./. ./World
cd NetworkInterfaces/Ieee80211 && $(MAKEMAKE) $(OPTS) -n
-r cd NetworkInterfaces/Ieee80211/Mac && $(MAKEMAKE) $(OPTS) -n
$(CONTRACT_INCLUDES) -I../. ./MFCore
cd NetworkInterfaces/Ieee80211/Mgmt && $(MAKEMAKE)
$(OPTS) -n $(CONTRACT_INCLUDES) -I../Mac -I../. ./Ethernet
cd NetworkInterfaces/Radio && $(MAKEMAKE) $(OPTS) -n
-n $(CONTRACT_INCLUDES) -I. ./MFCore -I. ./Ieee80211/Mac -I../. ./World
cd Nodes/IPv6 && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES) $ (ALL_IPv6_INCLUDES)
cd Applications/Generic && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES)
cd Applications/Ethernet && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES) -I. ./. . /NetworkInterfaces/Ethernet
cd Applications/PingApp && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES)
cd Applications/TCPApp && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I../. ./Transport/TCP
cd Applications/UDPApp && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES)
cd Network/Contract && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. ./IPv4 -I. ./IPv6 -I. ./ICMPv6
cd Network/IPv4 && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./ARP
cd Network/Queue && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./IPv4 -I. ./IPv6
cd Network/ARP && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./IPv4
cd Network/AutoRouting && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. ./IPv4 -I. ./IPv6 -I. ./ICMPv6
cd Network/IPv6 && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./ICMPv6
cd Network/ICMPv6 && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./IPv6
: # FIXME reduce cross-dependency among MPLS, LDP, TED and
RSVP_TE! cd Network/MPLS && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./IPv4 -I. ./RSVP_TE -I. ./LDP -I../.
./Transport/TCP
cd Network/LDP && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./MPLS -I. ./IPv4 -I. ./TED -I. ./RSVP_TE -I../.
./Transport/UDP -
I../. ./Transport/TCP
cd Network/RSVP_TE && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. ./MPLS -I. ./IPv4 -I. ./TED
cd Network/TED && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. ./MPLS -I. ./IPv4 -I. ./RSVP_TE
cd Network/Extras && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) cd Network/Quagga && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_MPLS_INCLUDES) $ (ALL_INET_INCLUDES) $ (ALL_MF_INCLUDES)
cd Network/OSPFv2 && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I. -I. ./IPv4 -IRouter -IInterface -IMessageHandler
-INeighbor
cd Network/OSPFv2/Interface && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. -I.. -I../. ./IPv4 -I. ./Neighbor -I../Router - I. .
/MessageHandler
cd Network/OSPFv2/MessageHandler && $(MAKEMAKE) $(OPTS)
-n -r $(CONTRACT_INCLUDES) -I. -I.. -I../. ./IPv4 -I../Interface -I. ./Neighbor
- I../Router
cd Network/OSPFv2/Neighbor && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. -I.. -I../. ./IPv4 -I. ./MessageHandler -
I../Interface -I../Router
cd Network/OSPFv2/Router && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -I. -I.. -I../. ./IPv4 -I. ./MessageHandler -
I../Interface -I. ./Neighbor
cd NetworkInterfaces/Contract && $(MAKEMAKE) $(OPTS) -n $
(CONTRACT_INCLUDES)
cd NetworkInterfaces/PPP && $(MAKEMAKE) $(OPTS) -n $
(CONTRACT_INCLUDES) -I. ./. . /Network/Queue
cd NetworkInterfaces/Ethernet && $(MAKEMAKE) $(OPTS) -n $
(CONTRACT_INCLUDES) -I. ./. . /Network/Queue
cd NetworkInterfaces/EtherSwitch && $(MAKEMAKE) $(OPTS)
-n $(CONTRACT_INCLUDES) -I. ./Ethernet
cd Nodes/INET && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES) cd Nodes/IPv6 && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES)
cd Nodes/Wireless && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES)
cd Nodes/Adhoc && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES) cd Nodes/MPLS && $(MAKEMAKE) $(OPTS) -n -r
$(ALL_INET_INCLUDES)
$ (ALL_MPLS_INCLUDES)
cd Transport/Contract && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES)
cd Transport/UDP && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I../. ./Network/IPv4 -I../. ./Network/ICMPv6 -I../.
./Network/IPv6
cd Transport/RTP && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) -X Profiles -X tmp
cd Transport/RTP/Profiles/AVProfile && $(MAKEMAKE)
$(OPTS) -n -r $(CONTRACT_INCLUDES) -I. ./..
cd Transport/TCP && $(MAKEMAKE) $(OPTS) -n -r
$(CONTRACT_INCLUDES) - I../. ./Network/IPv4 -I../. ./Network/ICMPv6 -I../.
./Network/IPv6
cd Transport/TCP/flavours && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES) -I..
cd Transport/TCP/queues && $(MAKEMAKE) $(OPTS) -n -r
$ (CONTRACT_INCLUDES) -I..
cd Util/HeaderSerializers && $(MAKEMAKE) $(OPTS) -n
$ (ALL_INET_INCLUDES) $ (ALL_IPv6_INCLUDES) $ (ALL_MPLS_INCLUDES)
$ (ALL_MF_INCLUDES)
# UNUSED TARGET. It might only be needed with fully compiled-in
NED files, or when
# an example simulation contains C++ parts too (currently none
have). examples-dir:
cd Examples && $(MAKEMAKE) $(OPTS) -n -r
cd Examples/Ethernet && $(MAKEMAKE) $(OPTS) -n -r cd
Examples/INET && $(MAKEMAKE) $(OPTS) -n -r
cd Examples/OSPFv2 && $(MAKEMAKE) $(OPTS) -n -r cd
Examples/Quagga && $(MAKEMAKE) $(OPTS) -n -r cd Examples/MPLS
&& $(MAKEMAKE) $(OPTS) -n -r cd Examples/IPv6 && $(MAKEMAKE)
$(OPTS) -n -r
cd Examples/RTP && $(MAKEMAKE) $(OPTS) -n -r #-X Data -X
Multicast1 -
X Multicast2 -X Unicast
cd Examples/Wireless && $(MAKEMAKE) $(OPTS) -n -r cd
Examples/Adhoc && $(MAKEMAKE) $(OPTS) -n -r
cd Examples/Ethernet/ARPTest && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/Ethernet/LANs && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/INET/NClients && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/INET/FlatNet && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/INET/KIDSNw1 && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/INET/Multicast && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/INET/RouterPerf && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/INET/BulkTransfer && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/INET/REDTest && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/OSPFv2/Areas && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/OSPFv2/Backbone && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/OSPFv2/FullTest && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/OSPFv2/SimpleTest && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/Quagga/FourRouters && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/Quagga/SimpleTest && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/Quagga/OSPFBackbone && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/MPLS/LDP && $(MAKEMAKE) $(ALL_MODEL_OPTS)
cd Examples/MPLS/Net37 && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/MPLS/TestTE_Failure && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
: #cd Examples/MPLS/TestTE_Failure2 && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/MPLS/TestTE _Reroute && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/MPLS/TestTE_Routing && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/MPLS/TestTE _Tunnel && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/IPv6/NClients && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/IPv6/DemoNetworkEth && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/Wireless/80211Lan && $ (MAKEMAKE) $
(ALL_MODEL_OPTS) cd Examples/Wireless/Handover && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/Wireless/Throughput && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/Adhoc/Mobility && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/Adhoc/Ieee80211 && $ (MAKEMAKE) $
(ALL_MODEL_OPTS) cd Examples/Adhoc/MF80211 && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/RTP/Data && $(MAKEMAKE) $(ALL_MODEL_OPTS)
cd Examples/RTP/Unicast && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
cd Examples/RTP/Multicast1 && $(MAKEMAKE)
$(ALL_MODEL_OPTS) cd Examples/RTP/Multicast2 && $(MAKEMAKE)
$(ALL_MODEL_OPTS)
tests-dir:
cd Tests && $(MAKEMAKE) $(OPTS) -n -r -X IPv4 -X MPLS
cd Tests/NewTCP && $(MAKEMAKE) $(OPTS) -w
$(ALL_INET_INCLUDES) $ (ALL_IPv6_INCLUDE)
|