#
# PPPoEcd Makefile
#
# Copyright 2007, Broadcom Corporation
# All Rights Reserved.
# 
# THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
# KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
# SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
#
# $Id: Makefile,v 1.1 2008-08-04 06:11:52 winfred Exp $
#

#include ../../net_team.mk 
include $(COMMON_BASE_MK)
ifneq ($(wildcard $(SRCBASE)/cy_conf.mak),)
  include $(SRCBASE)/cy_conf.mak
endif

# Uncomment the following line to enable CCP compression
# CCP_SUPPORT=y

# Uncomment the following line to enable standard CHAP authentication
CHAP_SUPPORT=y

# Uncomment the following line to enable MS CHAP authentication
CHAPMS_SUPPORT=y

# Uncomment the following to enable debugging
# DFLAGS	+= -g -DDEBUG
ifeq ($(LOG_PPPOE),2)
DFLAGS += -DDEBUG -DDEBUGALL
endif

ifeq ($(MPPPOE_SUPPORT),1)
DFLAGS += -DMPPPOE_SUPPORT
endif

CFLAGS	:= -D_linux_=1 -DHAVE_PATHS_H -DHAVE_MMAP
CFLAGS	+= -I. -I../pppd -O2 -pipe -Wall
CFLAGS	+= $(DFLAGS) -g
CFLAGS	+= -I ../include
CFLAGS	+= -I../../include

CFLAGS += -I$(LIB_DIR)/libnvram
LDLIBS += -lnvram_sc
LDLIBS  += -L$(LIB_DIR)/libnvram
#CFLAGS    += -I$(CROSS_ROOT)/usr/include --sysroot=$(CROSS_ROOT)
#LDFLAGS    +=  -L$(CROSS_ROOT)/usr/lib/ --sysroot=$(CROSS_ROOT)
LDFLAGS  += -lcrypt

vpath	%.c ../pppd
OBJS	:= magic.o fsm.o lcp.o ipcp.o upap.o
vpath	%.c ../pppd/plugins/pppoe
OBJS	+= pppoe_client.o libpppoe.o
OBJS	+= main.o auth.o options.o demand.o utils.o sys-linux.o
#OBJS	+= ipxcp.o tdb.o tty.o multilink.o

ifdef CCP_SUPPORT
CFLAGS	+= -DCCP_SUPPORT=1
OBJS	+= ccp.o
endif

ifdef CHAP_SUPPORT
CFLAGS	+= -DCHAP_SUPPORT=1
OBJS	+= md5.o chap.o
endif

ifdef CHAPMS_SUPPORT
CFLAGS	+= -DCHAPMS=1 -DUSE_CRYPT=1 -DHAVE_CRYPT_H=1
OBJS	+= md4.o chap_ms.o
OBJS	+= sha1dgst.o mppe.o extra_crypto.o
endif

# ifneq ($(wildcard $(LIBDIR)/libcrypt.a),)
# LIBCRYPT := $(LIBDIR)/libcrypt.a
# else
# LIBCRYPT := $(USRLIBDIR)/libcrypt.a
# endif

all: pppoecd poeupdown

romfs:
	cp pppoecd pppoecd.elf
	cp poeupdown poeupdown.elf
	$(ROMFSINST) pppoecd /bin/pppoecd
	$(ROMFSINST) poeupdown /bin/poeupdown
	cp poeupdown pppoe-up
	cp poeupdown pppoe-down
	$(ROMFSINST) pppoe-up /bin/pppoe-up
	$(ROMFSINST) pppoe-down /bin/pppoe-down
#	$(LN) -sf /bin/poeupdown $(ROOTFS_DIR)/etc_ro/ppp/pppoe-up
#	$(LN) -sf /bin/poeupdown $(ROOTFS_DIR)/etc_ro/ppp/pppoe-down
pppoecd: $(OBJS)
	$(LD) -r  -o .$@ $^
	$(CC) $(CFLAGS) -o $@ .$@ $(LDFLAGS) $(LDLIBS)
#	rm -f .$@

poeupdown: poeupdown.o 
	$(CC) $(CFLAGS) -o poeupdown poeupdown.c $(LDFLAGS) $(LDLIBS)
	

clean:
	-rm -f *.o *.elf pppoecd poeupdown pppoe-up pppoe-down $(ROOTFS_DIR)/etc_ro/ppp/pppoe-up /etc_ro/ppp/pppoe-down

#$(OBJS): $(CY_DEPS)
