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,v 1.41 2011/01/20 03:08:08 Exp $
13#
14
15WLU_OBJS := wlu.o wlu_cmd.o wlu_iov.o wlu_linux.o bcmutils.o bcmwifi.o wlu_client_shared.o wlu_pipe.o wlu_pipe_linux.o miniopt.o bcm_app_utils.o
16ifneq ($(wildcard $(SRCBASE)/wl/exe/wlu_common.c),)
17WLU_OBJS += wlu_common.o
18endif
19
20ifeq ($(RWL),1)
21WL_OBJS := $(WLU_OBJS)
22SERVER_OBJS := wlu_server_linux.o wlu_pipe_linux.o wlu_pipe.o wlu_server_shared.o shellproc_linux.o
23APUT_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
24
25SOCKET_OBJS := $(SERVER_OBJS:%.o=socket/%.o)
26WIFI_OBJS := $(SERVER_OBJS:%.o=wifi/%.o)
27WL_OBJS := $(WL_OBJS:%.o=wl_obj/%.o) 
28WFA_APUT_OBJS := $(APUT_OBJS:%.o=aput/%.o)
29
30SERVER_SOCKET  := wl_server_socket
31SERVER_WIFI  := wl_server_wifi
32WFA_APUT_ALL := wfa_aput_all
33WL_EXE  := wl
34endif
35
36UTILS := epi_ttcp
37CFLAGS += -s -I$(SRCBASE)/include
38ifeq ($(CONFIG_RTR_OPTIMIZE_SIZE),y)
39CFLAGS  += -Os
40else
41CFLAGS  += -O2
42endif
43CFLAGS += -DBCMINTERNAL -DBCMDBG
44
45CFLAGS += -DLINUX -I$(SRCBASE)/wl/exe
46
47#ifdef WLCNT
48CFLAGS += -DWLCNT
49#endif
50
51vpath %.c $(SRCBASE)/tools/misc
52
53ifneq ($(wildcard $(SRCBASE)/et/linux/et.c),)
54UTILS += et
55vpath %.c $(SRCBASE)/et/linux
56endif
57
58ifneq ($(wildcard $(SRCBASE)/wl/exe),)
59CFLAGS += -I$(SRCBASE)/wl/exe
60UTILS += wl
61vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/shared
62endif
63
64ifeq ($(RWL),1)
65ifeq ($(BUILD_WFA_APUT),1)
66ifneq ($(wildcard $(SRCBASE)/router/aput),)
67CFLAGS += -I$(SRCBASE)/router/aput
68UTILS += $(WFA_APUT_ALL)
69vpath %.c $(SRCBASE)/router/aput
70endif
71endif
72
73ifneq ($(wildcard $(SRCBASE)/wl/exe),)
74UTILS += $(SERVER_SOCKET)
75vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/shared
76endif
77
78ifneq ($(wildcard $(SRCBASE)/wl/exe),)
79UTILS += $(SERVER_WIFI)
80vpath %.c $(SRCBASE)/wl/exe $(SRCBASE)/shared
81endif
82endif
83
84all: $(UTILS)
85
86wl: $(WLU_OBJS)
87	$(CC) $^ -o $@ $(LDFLAGS)
88
89ifeq ($(RWL),1)
90$(WFA_APUT_ALL): $(WFA_APUT_OBJS)
91	$(CC) $(LDFLAGS) -o $@ $^ 
92
93aput/%.o: %.c
94	@mkdir -p aput
95	$(CC) -c $(CFLAGS) -o $@ $^
96$(SERVER_SOCKET): $(SOCKET_OBJS)
97	$(CC) $(LDFLAGS) -o $@ $^ 
98
99socket/%.o: %.c
100	@mkdir -p socket
101	$(CC) -c $(CFLAGS) -DRWL_SOCKET -o $@ $^
102
103$(SERVER_WIFI): $(WIFI_OBJS)
104	$(CC) $(LDFLAGS) -o $@ $^
105
106wifi/%.o: %.c
107	@mkdir -p wifi
108	$(CC) -c $(CFLAGS) -DRWL_WIFI -o $@ $^
109endif
110
111clean:
112	rm -f *.o *~ $(UTILS)
113	rm -rf socket wifi
114
115install: all
116	install -d $(INSTALLDIR)/usr/sbin
117	install $(UTILS) $(INSTALLDIR)/usr/sbin
118	$(STRIP) $(foreach file,$(UTILS),$(INSTALLDIR)/usr/sbin/$(file))
119