forked from riebl/artery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
131 lines (100 loc) · 3.18 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
PYTHON ?= python
PYTHON2 ?= python2
INET_DIR = ../inet4
SIMULTE_DIR = ../simulte
VANETZA_DIR = extern/vanetza
VEINS_DIR = ../veins
ifeq ($(MODE), debug)
CM_BUILD_TYPE=Debug
CM_BUILD_DIR=build/$(CM_BUILD_TYPE)
VANETZA_BUILD_DIR=$(VANETZA_DIR)/$(CM_BUILD_DIR)
else
CM_BUILD_TYPE=Release
CM_BUILD_DIR=build/$(CM_BUILD_TYPE)
VANETZA_BUILD_DIR=$(VANETZA_DIR)/$(CM_BUILD_DIR)
endif
N_CORES := $(shell nproc)
all: artery
allExtern: inet vanetza veins
cleanExtern:
-$(MAKE) -C $(INET_DIR) cleanall
-$(MAKE) -C $(VEINS_DIR) cleanall
-rm -rf $(VANETZA_BUILD_DIR)
$(INET_DIR)/.oppfeaturestate: $(INET_DIR)/.oppfeatures
cd $(INET_DIR); $(PYTHON) inet_featuretool repair
$(INET_DIR)/src/Makefile: $(INET_DIR)/.oppfeatures
$(MAKE) -C $(INET_DIR) makefiles
inet: $(INET_DIR)/src/Makefile
$(MAKE) -C $(INET_DIR)/src
$(SIMULTE_DIR)/src/Makefile: $(SIMULTE_DIR)/Version
$(MAKE) -C $(SIMULTE_DIR) makefiles INET_PROJ=$(INET_DIR)
$(MAKE) -C $(SIMULTE_DIR)/src depend
simulte: $(SIMULTE_DIR)/src/Makefile
$(MAKE) -C $(SIMULTE_DIR)/src
$(VEINS_DIR)/src/Makefile: $(VEINS_DIR)/configure
cd $(VEINS_DIR); $(PYTHON2) configure
$(MAKE) -C $(VEINS_DIR)/src depend
veins: $(VEINS_DIR)/src/Makefile
$(MAKE) -C $(VEINS_DIR)
$(VANETZA_BUILD_DIR):
mkdir -p $(VANETZA_BUILD_DIR)
$(VANETZA_BUILD_DIR)/Makefile: $(VANETZA_BUILD_DIR)
cd $<; cmake -DCMAKE_BUILD_TYPE=$(CM_BUILD_TYPE) -DBUILD_SHARED_LIBS=ON ../..
vanetza: $(VANETZA_BUILD_DIR)/Makefile
$(MAKE) -j$(N_CORES) -C $(VANETZA_BUILD_DIR)
vanetza_clean:
rm -rf $(VANETZA_BUILD_DIR)
$(CM_BUILD_DIR): vanetza
mkdir -p $(CM_BUILD_DIR)
$(CM_BUILD_DIR)/Makefile: $(CM_BUILD_DIR)
cd $<; cmake -DCMAKE_BUILD_TYPE=$(CM_BUILD_TYPE) -DBUILD_SHARED_LIBS=ON ../..
artery: $(CM_BUILD_DIR)/Makefile
$(MAKE) -j$(N_CORES) -C $(CM_BUILD_DIR)
artery_clean:
rm -rf $(CM_BUILD_DIR)
# opp_makemake setup
MAKEMAKE=opp_makemake $(MMOPT)
INET_PROJ=../inet4
LTE_PROJ=../simulte
VEINS_PROJ=../veins
VEINS_INET_PROJ=../veins/subprojects/veins_inet
ARTERY_PROJ=.
VANETZA_PROJ=extern/vanetza
clean: vanetza_clean artery_clean
cleanall:
rm -rf build
rm -rf $(VANETZA_DIR)/build
makefiles:
cd src && $(MAKEMAKE) --make-so -f --deep -o ARTERY -O out -pARTERY \
-KINET_PROJ=../$(INET_PROJ) \
-KLTE_PROJ=../$(LTE_PROJ) \
-KVEINS_PROJ=../$(VEINS_PROJ) \
-KVEINS_INET_PROJ=../$(VEINS_INET_PROJ) \
-KVANETZA_PROJ=../$(VANETZA_PROJ) \
-KARTERY_PROJ=../$(ARTERY_PROJ) \
-DINET_IMPORT -DVEINS_IMPORT -DVEINS_INET_IMPORT \
-I. \
-I$$\(ARTERY_PROJ\) \
-I$$\(ARTERY_PROJ\)/src/traci/sumo \
-I$$\(ARTERY_PROJ\)/extern/pybind11/include \
-I$$\(INET_PROJ\)/src \
-I$$\(LTE_PROJ\)/src \
-I$$\(VEINS_PROJ\)/src \
-I$$\(VEINS_PROJ\)/subprojects/veins_inet/src \
-I$$\(VEINS_PROJ\)/src/veins \
-I$$\(VANETZA_PROJ\) \
-I$$\(VANETZA_PROJ\)/vanetza/asn1/support \
-I/usr/include/python3.6 \
-L$$\(INET_PROJ\)/src \
-L$$\(LTE_PROJ\)/src \
-L$$\(VEINS_PROJ\)/src \
-L$$\(VEINS_PROJ\)/subprojects/veins_inet/src \
-L$$\(VANETZA_PROJ\)/build/Debug/lib \
-L$$\(VANETZA_PROJ\)/build/Release/lib \
-lINET$$\(D\) \
-llte$$\(D\) \
-lveins$$\(D\) \
-lveins_inet$$\(D\) \
-lvanetza_asn1$$\(D\) \
-Xartery/testbed \
-Xartery/transfusion