1#
2# Copyright (C) 2010, Broadcom Corporation. All Rights Reserved.
3# 
4# Permission to use, copy, modify, and/or distribute this software for any
5# purpose with or without fee is hereby granted, provided that the above
6# copyright notice and this permission notice appear in all copies.
7# 
8# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15#
16# $Id: Makefile.nat,v 1.3 2009/02/17 11:02:44 Exp $
17#
18
19ifeq "$(SRCBASE)" ""
20	SRCBASE=$(shell cd ../../../.. ; pwd)
21endif
22
23include $(SRCBASE)/router/.config
24
25CFG_BCMIGD ?= 1
26
27#
28# Condition CONFIG_NAT
29#
30ifeq ("$(CONFIG_NAT)$(CFG_BCMIGD)","y1")
31
32CFLAGS += -I$(SRCBASE)/include -I$(SRCBASE)/router/shared
33CFLAGS += -g -O2 -DNDEBUG -Wall -Wunused 
34
35#
36# objects
37#
38OBJDIR = obj
39
40SOURCES = upnpnat.c
41SOURCES.OBJ := $(SOURCES)
42SOURCES.OBJ := $(patsubst %.c,$(OBJDIR)/%.o,$(SOURCES.OBJ))
43
44TARGET = upnpnat
45LIBS = -L$(SRCBASE)/router/netconf -L$(INSTALLDIR)/netconf/usr/lib -L$(SRCBASE)/router/nvram -L$(INSTALLDIR)/nvram/usr/lib -lnetconf -lnvram
46
47all : $(OBJDIR) $(TARGET)
48
49$(OBJDIR):
50	mkdir -p $(OBJDIR)
51
52$(OBJDIR)/%.o:	%.c
53	$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $<
54
55$(TARGET) :: $(SOURCES.OBJ)
56	$(CC) -o $@ $(SOURCES.OBJ) $(LIBS)
57	$(SIZE)  $(TARGET)
58
59clean: 
60	rm -rf obj 
61
62install:
63	install -d $(INSTALLDIR)/usr/sbin
64	install -m 755 upnpnat $(INSTALLDIR)/usr/sbin/upnpnat
65	$(STRIP) $(INSTALLDIR)/usr/sbin/upnpnat
66
67else
68
69all:
70	echo "Nothing to do"
71
72clean:
73	echo "Nothing clean"
74
75install:
76	echo "Nothing install"
77
78endif
79
80FORCE:
81
82.PHONY: FORCE clean install
83