blob: 0a3104b54368b8112c5504f0fbeade5bc88b5c12 [file] [log] [blame]
# This is where you build.
GUESS_HOST:=$(shell uname)
OS_VERSION:=$(shell uname -r)
HDW_VERSION:=$(shell uname -m)
OPT_CFLAGS=
# The default COMPILERFLAGS
COMPILERFLAGS=-DWITH_IP_HDRINCL
AR=ar
RANLIB=ranlib
COMPILER=gcc
ifeq ($(GUESS_HOST),Darwin)
TARGET=Darwin
HOST=powerpc
COMPILERDIR=/usr
COMPILEFLAGS= -DWITH_IP_HDRINCL -DHAVE_SA_LEN -DHAS_DEVICE_RANDOM -Wunused -Wimplicit -Werror -DUSE_SELECT
LIBDIR=Darwin
OBJDIR=Darwin
EXEDIR=Darwin
MACHINE=PPC
CC=$(COMPILER)
# add RANLIB for archives
(%): %
$(AR) $(ARFLAGS) $@ $<
$(RANLIB) $@
endif
ifeq ($(GUESS_HOST),SunOS)
# This is what you build for.
TARGET=Solaris
HOST=sparc-sun-sunos4.1
COMPILERDIR=/usr
ifeq ($(OS_VERSION), 5.5.1)
OS_VER= -DSOL_25
else
OS_VER= -DSOL_26
endif
COMPILEFLAGS= -DWITH_IP_HDRINCL
# _USE_SELECT_ *not* included in COMPILERFLAGS
LIBDIR=solaris
OBJDIR=solaris
EXEDIR=solaris
MACHINE=SOLARIS
CC=$(COMPILER)
endif
# ^^^ ifeq ($(GUESS_HOST),SunOS)
ifeq ($(GUESS_HOST),LynxOS)
# This is what you build for.
TARGET=LynxOS
HOST=lynxos
COMPILERDIR=/usr
LIBDIR=lynx
OBJDIR=lynx
EXEDIR=lynx
MACHINE=LYNX
OPT_CFLAGS= -mthreads
CC=$(COMPILER)
COMPILEFLAGS= -DCYGNUS -D_NO_SIOCGIFMTU_ -DHAVE_SA_LEN -DWITH_IP_HDRINCL
# _USE_SELECT_ *not* included in COMPILERFLAGS
endif
# ^^^ ifeq ($(GUESS_HOST),LynxOS)
ifeq ($(GUESS_HOST),OSF1)
# This is what you build for.
TARGET=TRU64
HOST=Alpha
COMPILERDIR=/usr
COMPILER=cc
LIBDIR=tru64
OBJDIR=tru64
EXEDIR=tru64
MACHINE=TRU64
COMPILEFLAGS= -D_NO_SIOCGIFMTU_ -std -DDEBUG_ON -DWITH_IP_HDRINCL
endif
# ^^^ ifeq ($(GUESS_HOST),OSF1)
ifeq ($(GUESS_HOST),FreeBSD)
# This is what you build for.
TARGET=FreeBSD
HOST=i386
COMPILER=cc
LIBDIR=FreeBSD
OBJDIR=FreeBSD
EXEDIR=FreeBSD
MACHINE=FREEBSD
CC=$(COMPILER)
COMPILEFLAGS= -DWITH_IP_HDRINCL -DHAVE_SA_LEN -DHAS_DEVICE_RANDOM -Wunused -Wimplicit -Werror
endif
# ^^^ ifeq ($(GUESS_HOST),FreeBSD)
ifeq ($(GUESS_HOST),OpenBSD)
# This is what you build for.
TARGET=OpenBSD
HOST=i386
COMPILER=cc
LIBDIR=OpenBSD
OBJDIR=OpenBSD
EXEDIR=OpenBSD
MACHINE=OpenBSD
CC=$(COMPILER)
COMPILEFLAGS= -I/usr/local/include -L/usr/local/lib -I/usr/pkg/include -L/usr/pkg/lib -I/usr/include -DWITH_IP_HDRINCL -DHAVE_SA_LEN -DHAS_DEVICE_RANDOM
endif
# ^^^ ifeq ($(GUESS_HOST),OpenBSD)
ifeq ($(GUESS_HOST),NetBSD)
# This is what you build for.
TARGET=NetBSD
HOST=i386
COMPILER=cc
LIBDIR=NetBSD
OBJDIR=NetBSD
EXEDIR=NetBSD
MACHINE=NETBSD
CC=$(COMPILER)
COMPILEFLAGS= -I/usr/local/include -L/usr/local/lib -I/usr/pkg/include -L/usr/pkg/lib -I/usr/include -DWITH_IP_HDRINCL -DHAVE_SA_LEN -DHAS_DEVICE_RANDOM
endif
# ^^^ ifeq ($(GUESS_HOST),NetBSD)
ifeq ($(GUESS_HOST),Linux)
# This is what you build for.
TARGET=linux
HOST=linux
COMPILERDIR=/usr
LIBDIR=linux
OBJDIR=linux
EXEDIR=linux
MACHINE=LINUX
OS_VER=
#
# If you minimize time calls, any user input may cause false
# time-outs, however it will cut down on system calls.
#
#COMPILEFLAGS= -DCYGNUS -DWITH_IP_HDRINCL -DMINIMIZE_TIME_CALLS
#
# Linux V6 code is brain dead and can't select source addresses
# for raw packets, not counting other problems ... sigh
COMPILEFLAGS= -DCYGNUS -DWITH_IP_HDRINCL -DOS_CANT_SELECT_SRC -DHAS_DEVICE_RANDOM
# _USE_SELECT_ *not* included in COMPILERFLAGS
CC=$(COMPILER)
endif
ifeq ($(GUESS_HOST),AIX)
# This is what you build for.
TARGET=AIX
HOST=aix
COMPILERDIR=/usr/local
COMPILEFLAGS= -DWITH_IP_HDRINCL -DHAVE_SA_LEN -DDEBUG_ON
LIBDIR=aix
OBJDIR=aix
EXEDIR=aix
MACHINE=AIX
CC=$(COMPILER) -Wall
endif
C++ = $(CC)
CXX = $(CC)
LEX=flex
#############################################
# The header file and libraries directories.
#############################################
# QUANTIX Include
INCLUDE_DIR=$(TOPDIR)/include
INCLUDE_INCLUDE=-I$(INCLUDE_DIR)
# Base
BASE_DIR=$(TOPDIR)/baselib
BASE_INCLUDE=-I$(BASE_DIR)
LIBBASE=libbaselib.a
# Getopt
LIBGETOPT=libgetopt.a
# Sctp
SCTP_DIR=$(TOPDIR)/user
SCTP_INCLUDE=-I$(SCTP_DIR)
LIBSCTP=libsctpuser.a
# apps include
APPS_DIR=$(TOPDIR)/apps
APPS_INCLUDE=-I$(APPS_DIR)
INCLUDE_CFLAGS= $(INCLUDE_INCLUDE) \
-I$(TOPDIR)/../KERN \
$(SCTP_INCLUDE) \
$(BASE_INCLUDE) \
$(APPS_INCLUDE)
##################################
#GPROF_LIBS=
#OPT_CFLAGS+= -Wall -g -pg
#GPROF_LIBS=-ldl
#OPT_CFLAGS+= -Wall -O3
OPT_CFLAGS+= -Wall -g
WARNING_CLFLAGS=
CFLAGS= -D$(MACHINE) \
-L../../KERN/usr.lib \
$(COMPILEFLAGS) \
-I.. \
$(OS_VER) \
$(LOCAL_CFLAGS) \
$(OPT_CFLAGS) \
$(INCLUDE_CFLAGS) \
$(MEMORY_CFLAGS) \
$(WARNING_CLFLAGS)
ifeq ($(HDW_VERSION),PowerPC)
CFLAGS+= -D__PPC__ -D__Lynx__ -O3
endif
CXXFLAGS=$(CFLAGS)
C++FLAGS=$(CFLAGS)
# APPLICATION_LIBS is for the libraries specific to an applications.
LDLIBS= $(APPLICATION_LIBS) \
$(CFLAGS) \
$(BASE_DIR)/$(OBJDIR)/$(LIBBASE) \
$(SCTP_DIR)/$(OBJDIR)/$(LIBSCTP) \
$(LOCAL_LIBS) \
$(GPROF_LIBS)
# -L/opt/FSFlibg++/lib
COMPILE.cc=$(CXX) -c $(CXXFLAGS) -o $@
COMPILE.c=gcc -c $(CFLAGS) -o $@
BINDIR=$(TOPDIR)/lib/bin