# Config-Makefile for Husky-packages
# You must modify this file according to your needs.

##############################################################################
#PART 1: DIRECTORIES AND FILENAMES
#You always need to change these to match your preferences
##############################################################################

# Prefix for all directories
# Set to your homedir if you have no root privilegies
PREFIX=/usr/local

# Where libraries (both .a and .so files) should be placed
# You should take care that this directory is listed in the LD_LIBRARY_PATH
# environment variable (if necessary, modify your /etc/profile file).
LIBDIR=$(PREFIX)/lib

# Where the programs should be placed.
BINDIR=$(PREFIX)/sbin

# Where manual pages should be placed.
MANDIR=$(PREFIX)/man

# Where include files should be placed (don't worry, no files will be over-
# written, Husky will use its own subdirectories below this directory):
INCDIR=$(PREFIX)/include

# The fidoconfig config file will be in this DIRECTORY:
CFGDIR=$(PREFIX)/etc/fido

# Filename (without path) for the config file (default: config)
#CFGNAME=config

# IF you have a working texinfo installation (consisting of the "makeinfo"
# and "install-info" programs), you should uncomment and adapt this 
# line - it will cause GNU info documentation to be built and installed
# into the given directory. If you leave it commented out, the documentation
# will not be compiled, and you won't know how to use the software ;-).
# You should take care that this directory is listed in the INFOPATH 
# environment variable (if necessary, modify your /etc/profile file).
# INFODIR=/usr/local/info

# The same as above, but for DVI documentation. This requires a working
# "texi2dvi" program.
# DVIDIR=${PREFIX}/share/doc/husky

# The same as above, but for HTML documentation. This requires a working
# "texi2html" program.
#HTMLDIR=$(PREFIX)/lib/husky

# Name of the config file of MSGED TE:
MSGEDCFG=\"$(CFGDIR)/msged.cfg\"


##############################################################################
#PART 2: PLATFORM DEPENDENT SECTION
#If you are running Linux with GNU gcc, you don't need to modify anything in
#the following sections. If you are running any other operating system or using
#any other C compiler, you should check the values. For some operating
#systems, the comments contain information on what you need to change.
##############################################################################


##############################################################################
# Programs
##############################################################################

# C-Compiler
CC=gcc

# C++-Compiler
CXX=g++

#Msged needs access to a termcap library. Define its name here.
#On Linux, termcap is integrated into ncurses:
TERMCAP=ncurses
#On FreeBSD or commerical Unices, you may try one of the following:
#TERMCAP=termcap
#TERMCAP=terminfo

# C++-Compiler
GPP=g++

# Pascal-Compiler (the compiler is optional, but the value of this
# variable must be defined even if you don't have a Pascal compiler).
PC=ppc386

# archiver (for object-files)
AR=ar

# how to build shared libraries
# use gcc on Linux and FreeBSD
# use ld on BeOS and also try ld if gcc does not work for you
# only "gcc" will put so version numbers into the shared object 
# On Solaris use "-G" as additional linkerflag !!!!!!!
# MKSHARED=ld
# LD=ld -G
MKSHARED=gcc 

# remove file
RM=rm

# The "install" program.
# On Linux and FreeBSD/NetBSD, use this:
INSTALL=install
# On Tru64 Unix, use this:
# INSTALL=installbsd
# On Solaris, use this:
# INSTALL=/usr/ucb/install

# link file (DOS: copy file)
LN=ln

# create directory
MKDIR=mkdir

# update dynamic library cache
# If your operating system does not need this, you may comment out this line.
LDCONFIG=/sbin/ldconfig

# rename a file
MV=mv

#copy a file
CP=cp

#Make a library file usable. You may leave this empty if it is n/a.
RANLIB=ar s

# C-style header file to pascal unit converter (shipped with fpc)
H2PAS=h2pas

#############################################################################
# program options
#############################################################################

# type of operating system (UNIX,MSDOS,OS2,WINNT)
# for BeOS, use UNIX!
OSTYPE=UNIX

# short name of operating system (used for PID lines etc.)
UNAME=LNX
#UNAME=BSD
#UNAME=OS2
#UNAME=BEOS

# Do you want debug information? (This is for developers only.)
DEBUG=0

# 8.3 names - NOTE: This switch is obsolete and probably does not work!
SHORTNAMES=0

# Perl support
PERL=0

# The DYNLIBS switch controls if dynamic or static linkage is used.
# This is tricky. If you set DYNLIBS=1, dynamic libraries (.so files)
# will be generated and used. This will only work if you are running "gcc"
# on Linux, FreeBSD or another real Unix operating system.

# On other systems, you must set DYNLIBS=0. Even on Linux, you might 
# want to do this if you are sick of shared library version mismatch
# problems.

# If you set DYNLIBS=0, but have Unix/Linux, you might want to add
# "-static" to the OPTCFLAGS and WARNCFLAGS variables (above) in order 
# to avoid linkage with old .so files that may be floating around
# (see 'ifeq ( $(DYNLIBS), 0 )' conditions)
#
DYNLIBS=1

# C-compiler: specify name of executable
EXENAMEFLAG=-o

# C-compiler: generate warnings
WARNFLAGS=-Wall

# C-compiler: optimization
OPTCFLAGS=-c -s -O3 -fomit-frame-pointer -fstrength-reduce -fPIC

ifeq ( $(DYNLIBS), 0 )
  ifeq ($(OSTYPE), UNIX)
    WARNFLAGS+= -static
    OPTCFLAGS+= -static
  endif
endif

# C-compiler: debug
DEBCFLAGS=-c -ggdb

# C-compiler: additional defines, for features of your OS
# On Solaris, Msged only works with the curses interface, so use:
#ADDCDEFS+=-DUSE_CURSES
# Some FS and some OS don't support filelocking. Try alternative locking
# *** THIS IS BETA-CODE *** report problems or success  to FIDOSOFT.HUSKY ***
#ADDCDEFS+=-DALTLOCKING
# If your are not under UNIX, EMX or DJGPP and have popen() uncomment this:
#ADDCDEFS+=-DHAVE_POPEN

# Pascal-Compiler: optimization
OPTPFLAGS=

# Pascal-Compiler: debug
DEBPFLAGS=

# Pascal-Compiler: additional defines, for features of your OS
ADDPDEFS=

# object linker: optimization
OPTLFLAGS=-s

# object linker: debug
DEBLFLAGS=-g

# options for installing programs
OPTIBOPT=-c -s -m 555
DEBIBOPT=-c -m 555

ifeq ($(DEBUG), 1)
  IBOPT = $(DEBIBOPT)
else
  IBOPT = $(OPTIBOPT)
endif

# options for installing scripts
ISOPT=-c -m 555

# options for installing shared libs
ILOPT=-c -m 555

# options for installing static libs
ISLOPT=-c -m 444

# options for installing man-pages
IMOPT=-c -m 444

# options for installing includes
IIOPT=-c -m 444

# options for linking files
LNOPT=-sf

# archiver options
AR_R = r

# options for creating directories
MKDIROPT=-p

# options for removing files (e.g. for clean, distclean, uninstall)
RMOPT=-f


#############################################################################
# file extensions
#############################################################################

# extension of executable (e.g. ".exe")
EXE=

# extension of object file
OBJ=.o

# extension of static libs
LIB=.a

# extension of dynamic libs
DLL=.so

# extension of compiled pascal units
TPU=.ppu

# directory separator (DOS-like: "\\", Unix-like: "/")

ifeq (${OSTYPE}, UNIX)
  DIRSEP=/
else
  DIRSEP=\\
endif
