1#
2# Linux NVRAM Makefile
3#
4# Copyright (C) 2010, 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,v 1.14 2011/01/20 03:52:00 Exp $
19#
20
21include $(TOP)/.config
22
23ifeq ($(CONFIG_ACOS_MODULES),y)
24ACOSTOPDIR= $(SRCBASE)/../ap/acos
25ACOSNVRAM= $(ACOSTOPDIR)/nvram
26endif
27
28CFLAGS += -DLINUX26
29
30CFLAGS	+= -I. -I$(SRCBASE)/include -Wall -DINCLUDE_WAN_LAN_SUBNET
31CFLAGS	+= -DINCLUDE_WDS -DINCLUDE_QOS -DBANDWIDTH_DETECT_17
32
33#water, @usb porting
34ifeq ($(PROFILE),WNR3500U)
35CFLAGS	+= -DSAMBA_ENABLE
36CFLAGS  += -DMULTIPLE_SSID
37endif
38
39ifeq ($(PROFILE),WNDR3400)
40CFLAGS  += -DX_ST_ML
41endif
42
43ifeq ($(PROFILE),WNDR4500REV)
44CFLAGS  += -DX_ST_ML
45endif
46
47#CFLAGS	+= -g -DDEBUG
48CFLAGS	+= -s -O2
49LDFLAGS += -L.
50
51ifeq ($(CONFIG_ACOS_MODULES),y)
52CFLAGS	+= -DACOS_MODULES_ENABLE
53CFLAGS	+= -I$(ACOSTOPDIR)/nvram -I$(ACOSTOPDIR)/include
54LDFLAGS	+= -L$(ACOSTOPDIR)/include -L$(ACOSTOPDIR)/nvram
55endif
56
57OBJS := nvram_linux.o
58ifeq ($(CONFIG_ACOS_MODULES),y)
59OBJS += $(ACOSNVRAM)/acosNvramConfig.o
60
61OBJS += $(ACOSNVRAM)/defaults.o
62
63endif
64
65vpath %.c $(SRCBASE)/shared/nvram
66
67all: libnvram.so $(if $(CONFIG_NVRAM_UTILITY),nvram)
68
69install: all
70	install -D libnvram.so $(INSTALLDIR)/usr/lib/libnvram.so
71	$(STRIP) $(INSTALLDIR)/usr/lib/libnvram.so
72ifneq ($(CONFIG_NVRAM_UTILITY),)
73	install -D nvram $(INSTALLDIR)/usr/sbin/nvram
74	$(STRIP) $(INSTALLDIR)/usr/sbin/nvram
75else
76	# Utility not wanted: get rid of any leftover one
77	rm -f $(INSTALLDIR)/usr/sbin/nvram
78endif
79
80
81clean:
82	rm -f *.o *.a *.so nvram
83#ifeq ($(CONFIG_ACOS_MODULES),y)
84#	rm -f $(ACOSNVRAM)/*.o
85#endif	
86
87libnvram.so: $(OBJS)
88	$(LD) -shared -o $@ $^
89
90nvram: main.o
91	$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) -lnvram
92