#
#	$Id: Makefile 1.18 Sat, 06 Dec 2003 14:45:37 -0800 root $
#	$ProjectHeader: pptpproxy 1.10 Sat, 06 Dec 2003 14:45:37 -0800 root $
#

# Release
# -------
LDFLAGS=
DEFINES=-DNDEBUG
OPTIM=-Winline -g0 -Os -fomit-frame-pointer -fno-exceptions -fno-check-new

# Debug
# -----
#LDFLAGS=-g3
#DEFINES=-DDEBUG
#OPTIM=-O0 -g3 -Wall

STDDEF=
IPATH=-I.
MAKEFLAGS=-j2 -r

CC=g++
CFLAGS=${IPATH} ${DEFINES} ${OPTIM} ${STDDEF}

DEPMAKER=gcc -M
DEPFLAGS=${IPATH} ${DEFINES} ${STDDEF}

SHELL=/bin/sh
.SUFFIXES:.d .cpp
.PHONY: clean realclean all rambo

SRC=				\
	acl.cpp			\
	db.cpp			\
	fake.cpp		\
	link.cpp		\
	log.cpp			\
	main.cpp		\
	options.cpp		\
	pairs.cpp		\
	proxy.cpp		\
	server.cpp		\
	thread.cpp		\
	utils.cpp

OBJ=${SRC:%.cpp=obj/%.o}

all: pptpproxy
	@echo Done.

pptpproxy:${OBJ}
	${CC} ${LDFLAGS} -o pptpproxy ${OBJ} -lpthread -lstdc++
	strip pptpproxy

pptpproxy-static:${OBJ}
	${CC} ${LDFLAGS} -static -o pptpproxy-static ${OBJ} -lpthread -lstdc++
	strip pptpproxy-static
	
clean:
	-rm -rf obj/* core core.* pptpproxy tags pptpproxy-static

realclean: clean
	-rm -rf .0/*

rambo: realclean
	@make all
	@echo There.

obj/%.o:%.cpp
	@mkdir -p obj/`dirname $*`
	${CC} ${CFLAGS} -c $*.cpp -o obj/$*.o

.0/%.d:%.cpp Makefile
	@echo .0/$*.d
	@mkdir -p .0/`dirname $*`
	@${DEPMAKER} ${DEPFLAGS} $*.cpp  | perl etc/cleandep.pl $*.o > .0/$*.d

-include $(SRC:%.cpp=.0/%.d)

