A fix for simulte and omnetpp 5.1.1 on windows/linux

387 views
Skip to first unread message

cjke...@gmail.com

unread,
May 17, 2017, 11:11:38 AM5/17/17
to OMNeT++ Users
I am working on a fix for compiling simulte. It seems that the "make makefiles" command inserts erroneous paths in the Makefile, so it ends up not being able to find L3AddressResolver.h and several other files.

My question to the simulte or inet developers: I see that all the includes in the code do not specify any paths. Is there a way to include all subdirectories in a folder during make? So far, the following changes to Makefile in simulate top dir are needed:



all: checkmakefiles
    cd src && $(MAKE)

clean: checkmakefiles
    cd src && $(MAKE) clean

cleanall: checkmakefiles
    cd src && $(MAKE) MODE=release clean
    cd src && $(MAKE) MODE=debug clean
    rm -f src/Makefile

makefiles:
    cd src && opp_makemake -f --deep --make-so -o lte -O out -I$$\(INET_PROJ\)/src -I$$\(INET_PROJ\)/src/inet/networklayer/contract/ipv4 -I$$\(INET_PROJ\)/src/inet/common -I$$\(INET_PROJ\)/src/inet/mobility/static -I$$\(INET_PROJ\)/src/inet/networklayer/ipv4 -I$$\(INET_PROJ\)/src/inet/common/geometry/common -I$$\(INET_PROJ\)/src/inet/mobility/contract -I$$\(INET_PROJ\)/src/inet/networklayer/common -I$$\(INET_PROJ\)/src/inet/transportlayer/contract/udp -I$$\(INET_PROJ\)/src/inet/common/queue -I$$\(INET_PROJ\)/src/inet/transportlayer/tcp_common -I$$\(INET_PROJ\)/src/inet/transportlayer/udp -I$$\(INET_PROJ\)/src/inet/networklayer/configurator/ipv4 -I$$\(INET_PROJ\)/src/inet/transportlayer/sctp -I$$\(INET_PROJ\)/src/inet/applications/sctpapp -I$$\(LTE_PROJ\) -I$$\(LTE_PROJ\)/common/ -I$$\(LTE_PROJ\)/corenetwork/binder -I$$\(LTE_PROJ\)/corenetwork/nodes -I$$\(LTE_PROJ\)/corenetwork/deployer -I$$\(LTE_PROJ\)/stack/phy/das -I$$\(LTE_PROJ\)/stack/handoverManager -I$$\(LTE_PROJ\)/stack/mac/layer -I$$\(LTE_PROJ\)/stack/mac/amc -I$$\(LTE_PROJ\)/stack/phy/feedback -I$$\(INET_PROJ\)/src/inet/transportlayer/contract/sctp -L../../inet/out/$$\(CONFIGNAME\)/src -lINET -DINET_IMPORT -KINET_PROJ=../../inet -KLTE_PROJ=.


checkmakefiles:
    @if [ ! -f src/Makefile ]; then \
    echo; \
    echo '======================================================================='; \
    echo 'src/Makefile does not exist. Please use "make makefiles" to generate it!'; \
    echo '======================================================================='; \
    echo; \
    exit 1; \
    fi


cjke...@gmail.com

unread,
May 17, 2017, 1:34:04 PM5/17/17
to OMNeT++ Users
Ok folks, I fixed all the paths in the simulte *.h to use full pathnames. Someone please merge this into simulte. This should make it work for windows, provided you unzip the files into omnetpp/samples.

omnetpp 5.1 removed support for recursive includes in opp_makemake, so simulte wasn't able to find files from inet (and even within simulte), since the makefile did not include those directories anymore.

https://github.com/hchenji/simulte

Rudolf Hornig

unread,
May 18, 2017, 9:00:33 AM5/18/17
to OMNeT++ Users
Thanks for your work. I have created a proper pull request from your commits:


Once Antonio approves, i think it should be merged.

cjke...@gmail.com

unread,
May 21, 2017, 6:39:51 PM5/21/17
to OMNeT++ Users
Happy to help. Thanks also to you for making the other changes needed to make simulte work with 5.1.1!
Reply all
Reply to author
Forward
0 new messages