blob: eced03ca2f7ad91cde587e24465b07722c619e4b [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001#CC=gcc
2#CXX=g++
3
4FLAGS=$(CFLAG)
5
6FO_FLAGS:= \
7 -DADC_CAPTURE_DEFINE \
8 -DGPS_SUSPEND_SUPPORT \
9 -DMTK_GPS_DUAL_FREQ_SUPPORT \
10 -DMTK_GPS_CO_CLOCK_DATA_IN_MD \
11 -DMTK_AGPS_SUPPORT \
12
13FLAGS+=\
14 -g \
15 -std=c99 \
16 -Wall \
17 -fPIC \
18 -D __COMPILE_OPTION__ \
19 -D __LINUX_OS__ \
20 -D_POSIX_C_SOURCE=199309L \
21 -D__USE_BSD \
22 -Wno-unused-function \
23 -Wno-unused-variable \
24 -Wno-implicit-function-declaration \
25 $(FO_FLAGS) \
26
27ifneq ($(findstring __LIBMNL_SIMULATOR__, $(FLAGS)),)
28CC=gcc
29FLAGS+=\
30 -DMTK_GPS_DATA_PATH="\"./etc/gnss/\"" \
31 -DMTK_GPS_DATA_DEFAULT_PATH="\"./etc/\""
32else
33FLAGS+=\
34 -DMTK_GPS_DATA_PATH="\"/etc/gnss/\"" \
35 -DMTK_GPS_DATA_DEFAULT_PATH="\"/etc/\""
36endif
37# -m32 \
38
39CPPFLAGS=\
40 -std=c++11 \
41
42INCLUDE=\
43 -Iutility/inc \
44 -Imnl_agps_interface/inc \
45 -Imnl_at_cmd_interface/inc \
46 -Imnl_nlp_interface/inc \
47 -Imnl_meta_interface/inc \
48 -Imnl_debug_interface/inc \
49 -Imnl_geofence_interface/inc \
50 -Imnld_entity/inc \
51 -Imnld_entity/inc/hardware \
52 -Imnld_entity/src/flashdownload \
53 -Imnl_log_interface/inc \
54 -Icurl/inc \
55 -Imnl/libs/inc
56
57LIBS=\
58 -ldl \
59 -lpthread \
60 -lm \
61 -lz \
62 -lssl \
63 -lcrypto \
64 -lcurl \
65 -lrt \
66
67CXXSRC=\
68
69CSRC=\
70 mnld_entity/src/mnl2hal_interface.c \
71 utility/src/data_coder.c \
72 utility/src/mtk_lbs_utility.c \
73 utility/src/mtk_socket_data_coder.c \
74 utility/src/mtk_socket_utils.c \
75 utility/src/mtk_prop_util.c \
76 utility/src/mtk_mnld_log.c \
77 mnl_agps_interface/src/mnl_agps_interface.c \
78 mnl_agps_interface/src/mnl2agps_interface.c \
79 mnl_agps_interface/src/agps2mnl_interface.c \
80 mnl_geofence_interface/src/mtk_geofence_controller.c \
81 mnl_geofence_interface/src/mtk_geofence_main.c \
82 mnl_nlp_interface/src/Mnld2NlpUtilsInterface.c \
83 mnl_meta_interface/src/Meta2MnldInterface.c \
84 mnl_debug_interface/src/Debug2MnldInterface.c \
85 mnl_debug_interface/src/Mnld2DebugInterface.c \
86 mnl_at_cmd_interface/src/mnl_at_interface.c \
87 mnld_entity/src/mnld.c \
88 mnld_entity/src/mnld_uti.c \
89 mnld_entity/src/gps_controller.c \
90 mnld_entity/src/nmea_parser.c \
91 mnld_entity/src/epo.c \
92 mnld_entity/src/qepo.c \
93 mnld_entity/src/mtknav.c \
94 mnld_entity/src/mnl_common.c \
95 mnld_entity/src/op01_log.c \
96 mnld_entity/src/gps_dbg_log.c \
97 mnl/src/pseudo_mnl.c \
98 mnl_log_interface/src/LbsLogInterface.c \
99 mnl_meta_interface/src/Meta2Mnld_logctrl_Interface.c \
100
101ifneq ($(findstring ADC_CAPTURE_DEFINE, $(FLAGS)),)
102 CSRC+=mnld_entity/src/adc_capture.c
103endif
104
105ifneq ($(findstring __LIBMNL_SIMULATOR__, $(FLAGS)),)
106 CSRC+=mnl/src/mnl_simulator.c
107else
108 LIBS+=\
109 mnl/libs/$(PACKAGE_ARCH)/libmnl_gnss.so \
110 mnl/libs/$(PACKAGE_ARCH)/libhotstill.a
111
112$(warning "mnld LIBS:$(LIBS)")
113endif
114
115EXECUTABLE=mnld
116COBJS=$(CSRC:.c=.o)
117CXXOBJS=$(CXXSRC:.cpp=.o)
118
119all: $(EXECUTABLE)
120
121$(EXECUTABLE): $(COBJS) $(CXXOBJS)
122 $(CC) --sysroot=$(BB_SYSROOT_ADD) $(COBJS) $(CXXOBJS) $(LDFLAGS) $(LIBS) $(FLAGS) $(CPPFLAGS) -o $@
123
124%.o : %.c
125 $(CC) -c $(FLAGS) $(INCLUDE) -o $@ $<
126
127%.o : %.cpp
128 $(CC) -c $(FLAGS) $(INCLUDE) $(CPPFLAGS) -o $@ $<
129
130.PHONY: install clean
131install:
132 install -d $(DESTDIR)/${bindir}
133 install -m 0755 $(EXECUTABLE) $(DESTDIR)/${bindir}
134
135clean:
136 rm -f $(EXECUTABLE) rm -rf *.o
137 find ./ -name *.o | xargs rm -rf
138