1# 2# Miscellaneous utilities Makefile 3# 4# Copyright (C) 2009, Broadcom Corporation 5# All Rights Reserved. 6# 7# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY 8# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM 9# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS 10# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. 11# 12# $Id: Makefile 361287 2012-10-08 00:28:04Z $ 13# 14 15include ../common.mak 16 17WLU_OBJS := wlu.o wlu_cmd.o wlu_iov.o wlu_linux.o bcmutils.o bcmwifi_channels.o wlu_client_shared.o wlu_pipe.o wlu_pipe_linux.o miniopt.o bcm_app_utils.o 18ifeq ($(RTCONFIG_BCMWL6),y) 19WLU_OBJS += wlu_rates_matrix.o wlc_ppr.o 20endif 21ifneq ($(wildcard $(SRCBASE)/wl/exe/wlu_common.c),) 22WLU_OBJS += wlu_common.o 23endif 24ifeq ($(RTCONFIG_BCMWL6),y) 25WLU_OBJS += wlc_clm_data.o 26endif 27 28ifeq ($(RWL),1) 29WL_OBJS := $(WLU_OBJS) 30SERVER_OBJS := wlu_server_linux.o wlu_pipe_linux.o wlu_pipe.o wlu_server_shared.o shellproc_linux.o 31APUT_OBJS := wfa_apcmdproc.o wfa_apcmdlib.o wfa_apcs.o wfa_apcmdresp.o wfa_apcmdvalid.o wfa_apcmdtbls.o wfa_apcmdcvt.o wfa_val2str.o wfa_apdiy.o wfa_sock.o wfa_aput_all.o 32 33SOCKET_OBJS := $(SERVER_OBJS:%.o=socket/%.o) 34WIFI_OBJS := $(SERVER_OBJS:%.o=wifi/%.o) 35WL_OBJS := $(WL_OBJS:%.o=wl_obj/%.o) 36WFA_APUT_OBJS := $(APUT_OBJS:%.o=aput/%.o) 37 38SERVER_SOCKET := wl_server_socket 39SERVER_WIFI := wl_server_wifi 40WFA_APUT_ALL := wfa_aput_all 41WL_EXE := wl 42endif 43 44CFLAGS += -s -I$(SRCBASE)/include 45ifneq ($(RTCONFIG_BCMWL6),y) 46CFLAGS += -I$(TOP)/shared -I$(TOP)/nvram 47endif 48CFLAGS += $(if $(WLAN_ComponentIncPath),$(WLAN_ComponentIncPath),$(addprefix -I,$(wildcard $(SRCBASE)/shared/bcmwifi/src))) 49#ifeq ($(CONFIG_RTR_OPTIMIZE_SIZE),y) 50ifeq ($(SFP),y) 51CFLAGS += -Os 52CFLAGS += -ffunction-sections -fdata-sections 53LDFLAGS += -ffunction-sections -fdata-sections -Wl,--gc-sections 54else 55CFLAGS += -O2 56endif 57CFLAGS += -DBCMINTERNAL -DBCMDBG 58ifneq ($(RTCONFIG_BCMWL6),y) 59LDFLAGS += -L$(TOP)/nvram -L$(INSTALLDIR)/nvram/usr/lib -lnvram 60LDFLAGS += -L$(TOP)/shared -L$(INSTALLDIR)/shared/usr/lib -lshared 61endif 62 63#UTILS := mii-tool robocfg ttcp 64#ifneq ($(CONFIG_LINUX26),y) 65#CFLAGS += -U CONFIG_NVRAM_SIZE 66#endif 67 68CFLAGS += -DLINUX -I$(SRCBASE)/wl/exe 69ifeq ($(RTCONFIG_BCMWL6), y) 70CFLAGS += -I$(SRCBASE)/wl/olpc/include -I$(SRCBASE)/wl/ppr/include 71endif 72 73# Use newer 11ac ratespec for wl command line 74CFLAGS += -DD11AC_IOTYPES -DPPR_API 75 76#ifdef WLCNT 77CFLAGS += -DWLCNT 78#endif 79 80ifeq ($(CONFIG_TRAFFIC_MGMT),y) 81CFLAGS += -DTRAFFIC_MGMT 82endif 83 84vpath %.c $(SRCBASE)/tools/misc 85ifeq ($(RTCONFIG_BCMWL6),y) 86vpath %.c $(SRCBASE)/shared/bcmwifi/src $(SRCBASE)/wl/ppr/src 87endif 88 89ifneq ($(wildcard $(SRCBASE)/et/linux/et.c),) 90UTILS += et 91vpath %.c $(SRCBASE)/et/linux 92endif 93 94ifneq ($(wildcard $(SRCBASE)/wl/exe),) 95CFLAGS += -I$(SRCBASE)/wl/exe 96UTILS += wl 97vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/wl/clm/src $(SRCBASE)/shared 98endif 99 100ifeq ($(RWL),1) 101ifeq ($(BUILD_WFA_APUT),1) 102ifneq ($(wildcard $(SRCBASE)/router/aput),) 103CFLAGS += -I$(SRCBASE)/router/aput 104UTILS += $(WFA_APUT_ALL) 105vpath %.c $(SRCBASE)/router/aput 106endif 107endif 108 109ifneq ($(wildcard $(SRCBASE)/wl/exe),) 110UTILS += $(SERVER_SOCKET) 111vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/shared 112endif 113 114ifneq ($(wildcard $(SRCBASE)/wl/exe),) 115UTILS += $(SERVER_WIFI) 116vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/shared 117endif 118endif 119 120ifeq ($(RTCONFIG_5301X),y) 121CFLAGS += -DBCM5301X 122endif 123UTILS += robocfg 124 125all: $(UTILS) 126 127ifeq ($(wildcard $(SRCBASE)/wl/exe/*.c),) 128wl: 129 -cp -f $(SRCBASE)/wl/exe/prebuilt/wl wl 130else 131wl: $(WLU_OBJS) 132 $(CC) $^ -o $@ $(LDFLAGS) 133endif 134 135ifeq ($(RWL),1) 136$(WFA_APUT_ALL): $(WFA_APUT_OBJS) 137 $(CC) $(LDFLAGS) -o $@ $^ 138 139aput/%.o: %.c 140 @mkdir -p aput 141 $(CC) -c $(CFLAGS) -o $@ $^ 142$(SERVER_SOCKET): $(SOCKET_OBJS) 143 $(CC) $(LDFLAGS) -o $@ $^ 144 145socket/%.o: %.c 146 @mkdir -p socket 147 $(CC) -c $(CFLAGS) -DRWL_SOCKET -o $@ $^ 148 149$(SERVER_WIFI): $(WIFI_OBJS) 150 $(CC) $(LDFLAGS) -o $@ $^ 151 152wifi/%.o: %.c 153 @mkdir -p wifi 154 $(CC) -c $(CFLAGS) -DRWL_WIFI -o $@ $^ 155endif 156 157mii-tool: mii-tool.c mii.h 158 159ifeq ($(wildcard $(SRCBASE)/router/utils/robocfg.c),) 160robocfg: 161 -cp -f $(SRCBASE)/wl/exe/prebuilt/robocfg robocfg 162else 163robocfg: robocfg.c etc53xx.h 164endif 165 166ttcp: epi_ttcp.c 167 $(CC) $(CFLAGS) -o $@ $^ 168 169clean: 170 rm -f *.o *~ $(UTILS) 171 rm -rf socket wifi epi_ttcp 172 173install: all 174 install -d $(INSTALLDIR)/usr/sbin 175 install $(UTILS) $(INSTALLDIR)/usr/sbin 176 $(STRIP) $(foreach file,$(UTILS),$(INSTALLDIR)/usr/sbin/$(file)) 177