blob: bd4e3da49baba32ab4dc1fbaf674e20283380f1e [file] [log] [blame]
Shad Ansari01b0e652018-04-05 21:02:53 +00001# Copyright (C) 2018 Open Networking Foundation
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 3 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16########################################################################
17##
18##
Luca Pretee75aaa52018-04-13 12:19:12 -070019## Config
Shad Ansari01b0e652018-04-05 21:02:53 +000020##
21##
Jason Huangaf7f6472019-05-04 03:19:07 +080022TOP_DIR=`pwd`
Shad Ansari9acc9732018-10-30 18:01:44 +000023OPENOLTDEVICE ?= generic
Craig Lutgen88a22ad2018-10-04 12:30:46 -050024
Shad Ansari01b0e652018-04-05 21:02:53 +000025#
26# Three vendor proprietary source files are required to build BAL.
27# SW-BCM68620_<VER>.zip - Broadcom BAL source and Maple SDK.
28# sdk-all-<SDK_VER>.tar.gz - Broadcom Qumran SDK.
Craig Lutgenf040dba2018-09-27 11:21:43 -050029# ACCTON_BAL_<BAL_VER>-<DEV_VER>.patch - Accton/Edgecore's patch.
Jason Huangd33b4d82019-05-15 18:22:57 +080030BAL_MAJOR_VER = 3
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +080031BAL_MINOR_VER = 1
32BAL_REV_A_VER = 1
33BAL_REV_B_VER = 1
34BAL_API_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER)
Jason Huangd33b4d82019-05-15 18:22:57 +080035BAL_VER = $(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(BAL_REV_B_VER)
Jason Huangaf7f6472019-05-04 03:19:07 +080036SDK_VER = 6.5.13
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +080037DEV_VER ?= 201908010203
Shad Ansari01b0e652018-04-05 21:02:53 +000038#
39# Version of Open Network Linux (ONL).
Jason Huangaf7f6472019-05-04 03:19:07 +080040ONL_KERN_VER_MAJOR = 4.14
Shad Ansari01b0e652018-04-05 21:02:53 +000041#
42# Build directory
43BUILD_DIR = build
Luca Pretee75aaa52018-04-13 12:19:12 -070044#
45# GRPC installation
46GRPC_ADDR = https://github.com/grpc/grpc
47GRPC_DST = /tmp/grpc
48GRPC_VER = v1.10.x
Shad Ansari2cddc552018-06-26 20:34:27 +000049
50USER := $(shell echo $(USER))
Luca Pretee75aaa52018-04-13 12:19:12 -070051#
Shad Ansari01b0e652018-04-05 21:02:53 +000052########################################################################
53##
54##
Luca Prete08e6f802018-04-17 11:49:45 -070055## Install prerequisites
Shad Ansari01b0e652018-04-05 21:02:53 +000056##
57##
58HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
59SYSTEM ?= $(HOST_SYSTEM)
Luca Pretee75aaa52018-04-13 12:19:12 -070060
Craig Lutgenf040dba2018-09-27 11:21:43 -050061LIBGRPC_PATH=$(shell pkg-config --libs-only-L grpc | sed s/-L// | sed s/\ //g)
62LIBPROTOBUF_PATH=$(shell PKG_CONFIG_ALLOW_SYSTEM_LIBS=true pkg-config --libs-only-L protobuf | sed s/-L// | sed s/\ //g)
63
Jason Huang313ae312019-06-18 17:54:15 +080064CXX = @CXX@-4.9
Craig Lutgenf040dba2018-09-27 11:21:43 -050065CXXFLAGS += @CXXFLAGS@
66CXXFLAGS += $(shell pkg-config --cflags-only-I grpc++)
Shad Ansari01b0e652018-04-05 21:02:53 +000067CPPFLAGS += `pkg-config --cflags protobuf grpc`
Craig Lutgen7ebee132018-11-16 15:31:11 -060068CXXFLAGS += -std=c++11 -fpermissive -Wno-literal-suffix
Craig Lutgenf040dba2018-09-27 11:21:43 -050069LDFLAGS += @LDFLAGS@
70LDFLAGS += `pkg-config --libs protobuf grpc++ grpc` -ldl -lgpr
Shad Ansari9acc9732018-10-30 18:01:44 +000071CXXFLAGSDEVICE = -I./device -I./device/$(OPENOLTDEVICE) -I./device/generic
Craig Lutgenf040dba2018-09-27 11:21:43 -050072
73export CXX CXXFLAGS
Luca Pretee75aaa52018-04-13 12:19:12 -070074
Luca Prete08e6f802018-04-17 11:49:45 -070075prereq:
nick6fa80732018-05-22 14:47:10 -040076 sudo apt-get -q -y install git pkg-config build-essential autoconf libtool libgflags-dev libgtest-dev clang libc++-dev unzip docker.io
Jason Huang313ae312019-06-18 17:54:15 +080077 sudo apt-get install -y build-essential autoconf libssl-dev gawk debhelper dh-systemd init-system-helpers curl cmake ccache g++-4.9
Luca Pretee75aaa52018-04-13 12:19:12 -070078
Shad Ansari563ea822018-06-28 14:56:27 +000079 # Install GRPC, libprotobuf and protoc
Luca Pretee75aaa52018-04-13 12:19:12 -070080 rm -rf $(GRPC_DST)
81 git clone -b $(GRPC_VER) $(GRPC_ADDR) $(GRPC_DST)
82 cd $(GRPC_DST) && git submodule update --init
Shad Ansari563ea822018-06-28 14:56:27 +000083 cd $(GRPC_DST)/third_party/protobuf && ./autogen.sh && ./configure
Luca Prete08e6f802018-04-17 11:49:45 -070084 make -C $(GRPC_DST)/third_party/protobuf
85 sudo make -C $(GRPC_DST)/third_party/protobuf install
86 sudo ldconfig
Shad Ansari563ea822018-06-28 14:56:27 +000087 make -C $(GRPC_DST)
88 sudo make -C $(GRPC_DST) install
89 sudo ldconfig
Shad Ansaricb004c52018-05-30 18:07:23 +000090
Shad Ansari2cddc552018-06-26 20:34:27 +000091docker:
92 echo $(USER)
93 sudo groupadd -f docker
94ifneq "$(USER)" ""
95 sudo usermod -aG docker $(USER)
96endif
97
Shad Ansari01b0e652018-04-05 21:02:53 +000098########################################################################
99##
100##
Luca Pretee75aaa52018-04-13 12:19:12 -0700101## ONL
Shad Ansari01b0e652018-04-05 21:02:53 +0000102##
103##
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800104ONL_REPO = onl
Shad Ansari01b0e652018-04-05 21:02:53 +0000105ONL_DIR = $(BUILD_DIR)/$(ONL_REPO)
Shad Ansari01b0e652018-04-05 21:02:53 +0000106onl:
107 if [ ! -d "$(ONL_DIR)/OpenNetworkLinux" ]; then \
108 mkdir -p $(ONL_DIR); \
Jason Huangaf7f6472019-05-04 03:19:07 +0800109 git clone https://github.com/opencomputeproject/OpenNetworkLinux.git $(ONL_DIR)/OpenNetworkLinux; \
110 cp download/Makefile.onl $(ONL_DIR)/Makefile; \
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800111 install -m 755 download/build-onl.sh $(ONL_DIR)/OpenNetworkLinux; \
112 make -C $(ONL_DIR) onl-$(ONL_KERN_VER_MAJOR); \
Shad Ansari01b0e652018-04-05 21:02:53 +0000113 fi;
114onl-force:
Shad Ansari9acc9732018-10-30 18:01:44 +0000115 make -C $(ONL_DIR) $(OPENOLTDEVICE)-$(ONL_KERN_VER_MAJOR)
Shad Ansari01b0e652018-04-05 21:02:53 +0000116distclean-onl:
117 sudo rm -rf $(ONL_DIR)
118
119########################################################################
120##
121##
Jason Huangd33b4d82019-05-15 18:22:57 +0800122## Broadcom LIBRARY APIs
123##
124##
125BAL_API_DIR = $(BUILD_DIR)/bal-api-$(BAL_API_VER)
126
127bal-api-$(BAL_API_VER):
128 if [ ! -d "$(BAL_API_DIR)" ]; then \
129 mkdir -p $(BAL_API_DIR); \
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800130 git clone https://github.com/balapi/bal-api-$(BAL_API_VER).git $(BAL_API_DIR); \
Jason Huangd33b4d82019-05-15 18:22:57 +0800131 fi;
132bal-api-clean:
133 rm $(BAL_API_DIR)
134
135########################################################################
136##
137##
Luca Pretee75aaa52018-04-13 12:19:12 -0700138## BAL
Shad Ansari01b0e652018-04-05 21:02:53 +0000139##
140##
Jason Huangaf7f6472019-05-04 03:19:07 +0800141BAL_ZIP = SW-BCM68620_$(subst .,_,$(BAL_VER)).tgz
Shad Ansari01b0e652018-04-05 21:02:53 +0000142SDK_ZIP = sdk-all-$(SDK_VER).tar.gz
Craig Lutgenf040dba2018-09-27 11:21:43 -0500143ACCTON_PATCH = ACCTON_BAL_$(BAL_VER)-V$(DEV_VER).patch
Shad Ansari9acc9732018-10-30 18:01:44 +0000144BAL_DIR = $(BUILD_DIR)/$(OPENOLTDEVICE)-bal
Jason Huangd33b4d82019-05-15 18:22:57 +0800145BCM_SDK = $(BAL_DIR)/switch_sdk/$(SDK_VER)
146BALLIBDIR = $(BAL_DIR)/build/host_reference/host_api
147BALLIBNAME = bal_host_api
148BAL_INC = -I$(BAL_DIR)/host_driver/bal/bal_include \
149 -I$(BAL_DIR)/host_driver/topology \
150 -I$(BAL_DIR)/host_driver/utils \
151 -I$(BAL_DIR)/host_driver/api \
152 -I$(BAL_DIR)/host_customized/os_abstraction \
153 -I$(BAL_DIR)/host_customized/os_abstraction/posix \
154 -I$(BAL_DIR)/host_customized/config \
155 -I$(BAL_DIR)/host_driver/api_conn_mgr \
156 -I$(BAL_DIR)/host_driver/conn_mgr \
157 -I$(BAL_DIR)/host_driver/api/host/topology \
158 -I$(BAL_DIR)/host_reference/cli \
159 -I$(BAL_DIR)/host_reference/api_cli \
160 -I$(BAL_API_DIR)/include \
161 -I$(BAL_API_DIR)/include/object_model
Shad Ansari01b0e652018-04-05 21:02:53 +0000162CXXFLAGS += $(BAL_INC) -I $(BAL_DIR)/lib/cmdline
Jason Huangd33b4d82019-05-15 18:22:57 +0800163CXXFLAGS += -DBCMOS_MSG_QUEUE_DOMAIN_SOCKET -DBCMOS_MSG_QUEUE_UDP_SOCKET -DBCMOS_MEM_CHECK -DBCMOS_SYS_UNITTEST -DENABLE_LOG -DENABLE_CLI
Shad Ansaricb004c52018-05-30 18:07:23 +0000164
Jason Huangd33b4d82019-05-15 18:22:57 +0800165sdk: onl bal-api-$(BAL_API_VER)
Shad Ansari01b0e652018-04-05 21:02:53 +0000166ifeq ("$(wildcard $(BAL_DIR))","")
167 mkdir $(BAL_DIR)
Jason Huangaf7f6472019-05-04 03:19:07 +0800168 tar zxvf download/$(BAL_ZIP) --strip 1 -C $(BAL_DIR)
Shad Ansari01b0e652018-04-05 21:02:53 +0000169 cp download/$(SDK_ZIP) $(BCM_SDK)
170 chmod -R 744 $(BAL_DIR)
171 cat download/$(ACCTON_PATCH) | patch -p1 -d $(BAL_DIR)
Jason Huangb6843dc2019-07-22 17:46:06 +0800172 make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) ONL_DIR=$(TOP_DIR)/$(ONL_DIR)/OpenNetworkLinux OPEN_SOURCE=y
Jason Huangaf7f6472019-05-04 03:19:07 +0800173 make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) release_board
Shad Ansari01b0e652018-04-05 21:02:53 +0000174endif
Shad Ansaricb004c52018-05-30 18:07:23 +0000175
Jason Huangaf7f6472019-05-04 03:19:07 +0800176bal-release: sdk
Jason Huangaf7f6472019-05-04 03:19:07 +0800177 make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) release_board
Shad Ansaricb004c52018-05-30 18:07:23 +0000178
179bal-clean:
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800180 make -C $(BAL_DIR) BOARD=$(OPENOLTDEVICE) clean_all
Shad Ansari01b0e652018-04-05 21:02:53 +0000181
182########################################################################
183##
184##
Luca Pretee75aaa52018-04-13 12:19:12 -0700185## OpenOLT API
Shad Ansari01b0e652018-04-05 21:02:53 +0000186##
187##
Shad Ansari56c8ea42018-10-30 19:34:35 +0000188OPENOLT_PROTOS_DIR = ../protos
Shad Ansari19249582018-04-30 04:31:00 +0000189OPENOLT_API_LIB = $(OPENOLT_PROTOS_DIR)/libopenoltapi.a
Shad Ansari627b5782018-08-13 22:49:32 +0000190CXXFLAGS += -I$(OPENOLT_PROTOS_DIR) -I$(OPENOLT_PROTOS_DIR)/googleapis/gens
Shad Ansari19249582018-04-30 04:31:00 +0000191protos:
192 make -C $(OPENOLT_PROTOS_DIR) all
Shad Ansaricc01de12018-05-21 22:54:45 +0000193protos-clean:
Shad Ansari19249582018-04-30 04:31:00 +0000194 -make -C $(OPENOLT_PROTOS_DIR) clean
Shad Ansari01b0e652018-04-05 21:02:53 +0000195
196########################################################################
197##
198##
Shad Ansari627b5782018-08-13 22:49:32 +0000199## common
Shad Ansari7193ae22018-08-08 22:23:18 +0000200##
201##
Shad Ansari627b5782018-08-13 22:49:32 +0000202common/%.o: common/%.cc
203 $(CXX) $(CXXFLAGS) -I./common -c $< -o $@
Shad Ansari7193ae22018-08-08 22:23:18 +0000204
205########################################################################
206##
207##
Craig Lutgen88a22ad2018-10-04 12:30:46 -0500208## device
209##
210##
Shad Ansari9acc9732018-10-30 18:01:44 +0000211device/$(OPENOLTDEVICE)/%.o: device/$(OPENOLTDEVICE)/%.cc
Craig Lutgen88a22ad2018-10-04 12:30:46 -0500212 $(CXX) $(CXXFLAGS) $(CXXFLAGSDEVICE) -c $< -o $@
213
214device/generic/%.o: device/generic/%.cc
215 $(CXX) $(CXXFLAGS) $(CXXFLAGSDEVICE) -c $< -o $@
216
217########################################################################
218##
219##
Shad Ansari627b5782018-08-13 22:49:32 +0000220## sim
Shad Ansari01b0e652018-04-05 21:02:53 +0000221##
222##
Shad Ansari627b5782018-08-13 22:49:32 +0000223SIM_SRCS = $(wildcard sim/*.cc) $(wildcard common/*.cc)
224SIM_OBJS = $(SIM_SRCS:.cc=.o)
225SIM_DEPS = $(SIM_SRCS:.cc=.d)
226sim: sim/openoltsim
227sim/openoltsim: protos $(SIM_OBJS)
228 $(CXX) -pthread -L/usr/local/lib $(SIM_OBJS) $(OPENOLT_API_LIB) /usr/local/lib/libprotobuf.a -o $@ -lgrpc++ -lgrpc -lpthread -ldl
229sim/%.o: sim/%.cc
230 $(CXX) -std=c++11 -fpermissive -Wno-literal-suffix -I./common -I$(OPENOLT_PROTOS_DIR) -I$(OPENOLT_PROTOS_DIR)/googleapis/gens -c $< -o $@
231clean-sim:
232 rm -f sim/openoltsim $(SIM_OBJS) $(SIM_DEPS)
233
234########################################################################
235##
236##
237## openolt
238##
239##
Shad Ansari9acc9732018-10-30 18:01:44 +0000240SRCS = $(wildcard src/*.cc) $(wildcard common/*.cc) $(wildcard device/$(OPENOLTDEVICE)/*.cc)
Shad Ansari01b0e652018-04-05 21:02:53 +0000241OBJS = $(SRCS:.cc=.o)
242DEPS = $(SRCS:.cc=.d)
243.DEFAULT_GOAL := all
Jason Huangd33b4d82019-05-15 18:22:57 +0800244all: $(BUILD_DIR)/openolt
Shad Ansaricb004c52018-05-30 18:07:23 +0000245$(BUILD_DIR)/openolt: sdk protos $(OBJS)
Shad Ansari06a13322018-09-29 01:55:33 +0000246 $(CXX) $(LDFLAGS) -L$(BALLIBDIR) $(OBJS) $(OPENOLT_API_LIB) $(LIBPROTOBUF_PATH)/libprotobuf.a -o $@ -l$(BALLIBNAME) $(shell pkg-config --libs protobuf grpc++ grpc)
Jason Huangd33b4d82019-05-15 18:22:57 +0800247 ln -sf $(TOP_DIR)/$(BAL_DIR)/build/fs/$(OPENOLTDEVICE)/release/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(DEV_VER).tar.gz $(BUILD_DIR)/.
248 ln -sf $(TOP_DIR)/$(BAL_DIR)/build/host_reference/host_api/strip/libbal_host_api.so $(BUILD_DIR)/.
249 ln -sf $(TOP_DIR)/$(BAL_DIR)/build/host_driver/dev_mgmt_daemon/dev_mgmt_daemon $(BUILD_DIR)/.
Craig Lutgenf040dba2018-09-27 11:21:43 -0500250 ln -sf $(LIBGRPC_PATH)/libgrpc.so.6 $(BUILD_DIR)/libgrpc.so.6
251 ln -sf $(LIBGRPC_PATH)/libgrpc++.so.1 $(BUILD_DIR)/libgrpc++.so.1
Jason Huangd33b4d82019-05-15 18:22:57 +0800252 ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $(BUILD_DIR)/libstdc++.so.6
Jason Huangfd78f662019-06-05 20:25:01 +0800253 strip $(BUILD_DIR)/openolt
Shad Ansari627b5782018-08-13 22:49:32 +0000254src/%.o: src/%.cc
Craig Lutgen88a22ad2018-10-04 12:30:46 -0500255 $(CXX) $(CXXFLAGS) $(CXXFLAGSDEVICE) -I./common -c $< -o $@
Shad Ansari01b0e652018-04-05 21:02:53 +0000256
Shad Ansari6cd46a62018-05-13 23:20:51 +0000257deb:
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800258 cp $(BUILD_DIR)/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(DEV_VER).tar.gz device/$(OPENOLTDEVICE)/mkdebian/debian
259 cp $(BUILD_DIR)/openolt device/$(OPENOLTDEVICE)/mkdebian/debian
260 cp $(BUILD_DIR)/libgrpc.so.6 device/$(OPENOLTDEVICE)/mkdebian/debian
261 cp $(BUILD_DIR)/libgrpc++.so.1 device/$(OPENOLTDEVICE)/mkdebian/debian
262 cp $(BUILD_DIR)/libstdc++.so.6 device/$(OPENOLTDEVICE)/mkdebian/debian
263 cp $(BUILD_DIR)/libbal_host_api.so device/$(OPENOLTDEVICE)/mkdebian/debian
264 cp -a scripts/init.d device/$(OPENOLTDEVICE)/mkdebian/debian
265 cd device/$(OPENOLTDEVICE)/mkdebian && ./build_$(OPENOLTDEVICE)_deb.sh
266 mv device/$(OPENOLTDEVICE)/*.deb $(BUILD_DIR)/openolt_$(OPENOLTDEVICE).deb
Shad Ansaricb004c52018-05-30 18:07:23 +0000267 make deb-cleanup
Shad Ansari6cd46a62018-05-13 23:20:51 +0000268
Shad Ansari01b0e652018-04-05 21:02:53 +0000269src/%.o: %.cpp
270 $(CXX) -MMD -c $< -o $@
271
Shad Ansaricb004c52018-05-30 18:07:23 +0000272deb-cleanup:
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800273 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/$(OPENOLTDEVICE).debhelper.log
274 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/$(OPENOLTDEVICE).postinst.debhelper
275 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/$(OPENOLTDEVICE).postrm.debhelper
276 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/$(OPENOLTDEVICE).substvars
277 @rm -rf device/$(OPENOLTDEVICE)/mkdebian/debian/$(OPENOLTDEVICE)/
278 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/debhelper-build-stamp
279 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/libgrpc++.so.1
280 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/libgrpc.so.6
281 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/libstdc++.so.6
282 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/libbal_host_api.so
283 @rm -rf device/$(OPENOLTDEVICE)/mkdebian/debian/init.d/
284 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/openolt
285 @rm -f device/$(OPENOLTDEVICE)/mkdebian/debian/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(BAL_MINOR_VER).$(BAL_REV_A_VER).$(DEV_VER).tar.gz
286 @rm -rf device/$(OPENOLTDEVICE)/mkdebian/debian/tmp/
287 @rm -f device/$(OPENOLTDEVICE)/$(OPENOLTDEVICE)_$(BAL_VER)+edgecore-V$(DEV_VER)_amd64.changes
Shad Ansaricc01de12018-05-21 22:54:45 +0000288
Shad Ansaricb004c52018-05-30 18:07:23 +0000289clean: protos-clean deb-cleanup
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800290 @rm -f $(OBJS) $(DEPS)
291 @rm -rf $(OPENOLT_PROTOS_DIR)/googleapis
292 @rm -f $(BUILD_DIR)/libgrpc.so.6 $(BUILD_DIR)/libgrpc++.so.1
293 @rm -f $(BUILD_DIR)/libbal_api_dist.so
294 @rm -f $(BUILD_DIR)/openolt
295 @rm -f $(BUILD_DIR)/bal_core_dist
296 @rm -f $(BUILD_DIR)/release_$(OPENOLTDEVICE)_V$(BAL_MAJOR_VER).$(DEV_VER).tar.gz
297 @rm -f $(BUILD_DIR)/openolt.deb
Shad Ansari19249582018-04-30 04:31:00 +0000298
Thiyagarajan Subramani1f1280b2019-08-13 18:41:19 +0800299clean-src: protos-clean
300 @rm -f $(OBJS) $(DEPS)
301
302distclean: clean-src clean
303 @rm -rf $(BUILD_DIR)
Shad Ansaricb004c52018-05-30 18:07:23 +0000304
Shad Ansari627b5782018-08-13 22:49:32 +0000305.PHONY: onl sdk bal protos prereq sim