1#
2# Router rc control scripts Makefile
3#
4# Copyright (C) 2013, Broadcom Corporation. All Rights Reserved.
5# 
6# Permission to use, copy, modify, and/or distribute this software for any
7# purpose with or without fee is hereby granted, provided that the above
8# copyright notice and this permission notice appear in all copies.
9# 
10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
13# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
15# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
16# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17#
18# $Id: Makefile 382678 2013-02-03 04:43:44Z $
19#
20
21include $(TOP)/.config
22
23ifneq (2_4,$(LINUX_VERSION))
24ifeq (2_6_36,$(LINUX_VERSION))
25CFLAGS += -DLINUX26 -DLINUX_2_6_36 -DAUTOFW_PORT_DEPRECATED
26else
27CFLAGS += -DLINUX26
28# /* Fxcn port-S Wins, 0720-09 */
29CFLAGS += -DACOS_LINUX26
30# /* Fxcn port-E Wins, 0720-09 */
31endif
32CFLAGS += -I. -I$(TOP)/shared -I$(SRCBASE)/include -I$(SRCBASE)/common/include -Wall -I$(LINUXDIR)/include -I$(TOP)/busybox-1.x
33else
34CFLAGS += -I. -I$(TOP)/shared -I$(TOP)/busybox -I$(SRCBASE)/include -I$(SRCBASE)/common/include -Wall
35endif
36ifeq ($(CONFIG_BONJOUR_PRINTER),y)
37CFLAGS += -DBONJOUR_PRINTER
38endif
39CFLAGS += $(if $(WLAN_ComponentIncPath),$(WLAN_ComponentIncPath),$(addprefix -I,$(wildcard $(SRCBASE)/shared/bcmwifi/include)))
40CFLAGS += -I$(TOP)/dpsta
41
42#CFLAGS	+= -g -DDEBUG
43CFLAGS	+= -s
44ifeq ($(CONFIG_RTR_OPTIMIZE_SIZE),y)
45CFLAGS  += -Os
46else
47CFLAGS  += -O2
48endif
49LDFLAGS	+= -L$(TOP)/nvram -L$(PLATFORMDIR)/install/nvram/usr/lib -lnvram -L$(TOP)/shared -L$(PLATFORMDIR)/install/shared/usr/lib -lshared \
50	-L$(TOP)/libbcmcrypto -L$(INSTALLDIR)/libbcmcrypto/usr/lib -lbcmcrypto
51LDFLAGS += -L$(TOP)/libbcm -L$(INSTALLDIR)/libbcm/usr/lib -lbcm
52LDFLAGS += $(EXTRA_LDFLAGS)
53CFLAGS	+= -I$(SRCBASE)/../ap/acos/shared
54LDFLAGS	+= -L$(SRCBASE)/../ap/acos/shared -L$(TARGETDIR)/usr/lib -lacos_shared
55
56#Foxconn Silver added start, 2011/12/21, for kernel_ntfs
57ifeq ($(PROFILE),WNDR4500REV)
58CFLAGS += -DUSE_KERNEL_NTFS
59endif
60#Foxconn Silver added end, 2011/12/21, for kernel_ntfs
61
62
63ifeq ($(PROFILE),WNDR4500v2)
64CFLAGS += -DUSE_KERNEL_NTFS
65endif
66
67ifeq ($(BUILD_WFA_APUT),1)
68CFLAGS	+= -DCAPI_AP
69endif
70
71ifeq ($(FW_TYPE),TWC)
72CFLAGS += -DBUILD_TWC
73endif
74ifeq ($(CONFIG_WAPI_IAS),y)
75CFLAGS += -DRC_BUILDTIME=$(shell date -d "now" +"%s")
76endif
77
78OBJS := rc.o init.o interface.o network.o services.o udhcpc.o http.o stats.o bcmutils.o mtd.o usb_hotplug.o pmon.o 
79ifeq ($(CONFIG_BCMQOS),y)
80OBJS += qos.o
81endif
82
83ifeq ($(CONFIG_NAT),y)
84OBJS += firewall.o
85LDFLAGS += -L$(TOP)/netconf -L$(PLATFORMDIR)/install/netconf/usr/lib -lnetconf
86endif
87
88ifeq ($(CONFIG_NAT),y)
89OBJS += ppp.o
90endif
91
92ifeq ($(CONFIG_WCN),y)
93OBJS += usb_hotplug.o
94endif
95
96ifeq ($(PROFILE),WNR3500L)
97OBJS += hotplug_usb2.o
98endif
99
100ifeq ($(PROFILE),WNDR4500REV)
101OBJS += hotplug_usb2.o
102endif
103
104
105ifeq ($(PROFILE),WNDR4500v2)
106OBJS += hotplug_usb2.o
107endif
108
109ifeq ($(PROFILE),WNDR3300v2)
110OBJS += hotplug_usb2.o
111endif
112
113vpath %.c $(TOP)/shared $(SRCBASE)/shared
114
115all: rc
116
117clean:
118	rm -f *.o rc .*.depend
119
120install: all
121	install -d $(INSTALLDIR)/sbin
122	install rc $(INSTALLDIR)/sbin
123	$(STRIP) $(INSTALLDIR)/sbin/rc
124	cd $(INSTALLDIR)/sbin && ln -sf rc init
125	cd $(INSTALLDIR)/sbin && ln -sf rc erase
126	cd $(INSTALLDIR)/sbin && ln -sf rc write
127	cd $(INSTALLDIR)/sbin && ln -sf rc write_cfe
128	cd $(INSTALLDIR)/sbin && ln -sf rc stats
129	cd $(INSTALLDIR)/sbin && ln -sf rc hotplug
130	cd $(INSTALLDIR)/sbin && ln -sf rc preinit
131
132rc: $(OBJS)
133	$(CC) -o $@ $(OBJS) $(LDFLAGS)
134
135%.o: .%.depend
136.%.depend: %.c
137	$(CC) $(CFLAGS) -M $< > $@
138
139-include $(OBJS:%.o=.%.depend)
140