1#
2# PPPoEcd Makefile
3#
4# Copyright (C) 2014, 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 247606 2011-03-21 05:53:04Z $
19# 
20
21# Uncomment the following line to enable CCP compression
22# CCP_SUPPORT=y
23
24# Uncomment the following line to enable standard CHAP authentication
25CHAP_SUPPORT=y
26
27# Uncomment the following line to enable MS CHAP authentication
28CHAPMS_SUPPORT=y
29
30# Uncomment the following to enable debugging
31# DFLAGS	+= -g -DDEBUG
32
33CFLAGS	:= -D_linux_=1 -DHAVE_PATHS_H -DHAVE_MMAP
34CFLAGS	+= -I. -I../pppd -pipe -Wall
35ifeq ($(CONFIG_RTR_OPTIMIZE_SIZE),y)
36CFLAGS  += -Os
37else
38CFLAGS  += -O2
39endif
40CFLAGS	+= $(DFLAGS)
41
42vpath	%.c ../pppd
43OBJS	:= magic.o fsm.o lcp.o ipcp.o upap.o
44vpath	%.c ../pppd/plugins/pppoe
45OBJS	+= pppoehash.o pppoe_client.o libpppoe.o
46OBJS	+= main.o auth.o options.o demand.o utils.o sys-linux.o pppoe.o
47
48ifdef CCP_SUPPORT
49CFLAGS	+= -DCCP_SUPPORT=1
50OBJS	+= ccp.o
51endif
52
53ifdef CHAP_SUPPORT
54CFLAGS	+= -DCHAP_SUPPORT=1
55OBJS	+= md5.o chap.o
56endif
57
58ifdef CHAPMS_SUPPORT
59CFLAGS	+= -DCHAPMS=1 -DUSE_CRYPT=1 -DHAVE_CRYPT_H=1
60OBJS	+= md4.o chap_ms.o
61endif
62
63ifneq ($(wildcard $(LIBDIR)/libcrypt.a),)
64LIBCRYPT := $(LIBDIR)/libcrypt.a
65else
66LIBCRYPT := $(USRLIBDIR)/libcrypt.a
67endif
68
69all: pppoecd
70
71install: all
72	install -d $(INSTALLDIR)/usr/sbin
73	install -m 755 pppoecd $(INSTALLDIR)/usr/sbin
74	$(STRIP) $(INSTALLDIR)/usr/sbin/pppoecd
75
76pppoecd: $(OBJS)
77	$(LD) -r -o .$@ $^ $(LIBCRYPT)
78	$(CC) -o $@ .$@
79	rm -f .$@
80
81clean:
82	rm -f *.o pppoecd
83