#
# FreeBSD Protean Makefile definitions
#

# 1) System specific additional libraries, include paths, etc
#    (Where to find X11 libraries, etc)
#
SYSTEM_INCLUDES =  
SYSTEM_LDFLAGS =  
SYSTEM_LIBS = -lc_r

# 2) System specific capabilities
# Must choose appropriate for the following:
#
# A) -DHAVE_CUSERID (preferred) or -DHAVE_GETLOGIN for cuserid() or getlogin()
#     functions to obtain user's login name (We may change this to getpwd() 
#     if that is better across different platforms and login environments)
#
# B) -DHAVE_LOCKF (preferred) or -D_LOCKF for lockf() or flock() file locking
#     functions to attempt exclusive lock on writing to files
# 
# C) Specify -DHAVE_DIRFD if you system provides the "dirfd()" function
#    (Most don't have it defined ... but some do)
#
# D) Optionally specify -DHAVE_ASSERT if your system has a built-in ASSERT()
#    routine.
#
# E) The PROTOLIB code's use of offset pointers requires special treatment
#    for some different compilers. Set -DUSE_INHERITANCE for some
#    to keep some compilers (gcc 2.7.2) happy.
#
# F) Some systems (SOLARIS/SUNOS) have a few gotchas which require
#    some #ifdefs to avoid compiler warnings ... so you might need
#    to specify -DSOLARIS or -DSUNOS depending on your OS.
#
# G) Uncomment this if you have the NRL IPv6+IPsec software
#DNETSEC = -DNETSEC -I/usr/inet6/include
#
# (We export these for other Makefiles as needed)
#

SYSTEM_HAVES =  -DHAVE_IPV6 -DHAVE_ASSERT -DHAVE_GETLOGIN -DHAVE_FLOCK -DHAVE_DIRFD $(DNETSEC) -DFREEBSD4

SYSTEM_SRC = bsdRouteMgr.cpp

SYSTEM_SRC_EX = bpfCap.cpp bsdDetour.cpp

SYSTEM = freebsd
CC = gcc
SYSTEM_CFLAGS = -Wall -Wcast-align -pedantic -fPIC 
SYSTEM_SOFLAGS = -shared 
RANLIB = ranlib
AR = ar

include Makefile.common
