# # Copyright (C) 2002 Erik Latoshek [forester] (laterk@inbox.lv) # Copyright (C) 2001 _type_in_ # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Makefile.BORLAND - # Makefile for Borland's/Inprise's free command-line win32 tools # Tested with Version 5.5 # attention! # on some win95 systems even if there are valid ilink32.cfg file, # ilink32 does not find objects in lib dir! notice, that on NT all works fine # so if you get a error that c0x32.obj cannot be found uncomment this macro #LINK_LIBS_PATH = "c:\program files\bcc55\lib" # -> ofcourse set path to your path # -> this was detected in 5.5 srcdir = . # prefix is the directory where the bnetd binary # distribution will be installed prefix = . exec_prefix = .\bnetd bindir = ${exec_prefix}\bin sbindir = ${exec_prefix}\sbin mandir = ${prefix}\man confdir = ${prefix}\conf sharedir = ${prefix}\var filesdir = ${sharedir}\files usersdir = ${sharedir}\users clandir = ${sharedir}\clans teamdir = ${sharedir}\teams reportsdir = ${sharedir}\reports chanlogsdir = ${sharedir}\chanlogs TOPDIR = ${srcdir}\.. INSTALLDIR = ${prefix} OBJDIR = ${srcdir}\..\obj\bcc\ SRC_SRCDIR = ${srcdir} SRC_BINDIR = ${srcdir}\..\bin SRC_SBINDIR = ${srcdir}\..\sbin SRC_MANDIR = ${srcdir}\..\man SRC_CONFDIR = ${SRCDIR}\..\conf SRC_SHAREDIR = ${SRCDIR}\..\files SRC_ACDIR = ${SRC_SRCDIR}\autoconf SRC_BNETDDIR = ${SRC_SRCDIR}\bnetd SRC_D2CSDIR = ${SRC_SRCDIR}\d2cs SRC_D2DBSDIR = ${SRC_SRCDIR}\d2dbs SRC_BNIUTILSDIR = ${SRC_SRCDIR}\bniutils SRC_BNPASSDIR = ${SRC_SRCDIR}\bnpass SRC_BNPROXYDIR = ${SRC_SRCDIR}\bnproxy SRC_BNTRACKDDIR = ${SRC_SRCDIR}\bntrackd SRC_CLIENTDIR = ${SRC_SRCDIR}\client SRC_COMMONDIR = ${SRC_SRCDIR}\common SRC_COMPATDIR = ${SRC_SRCDIR}\compat SRC_DEBUGDIR = ${SRC_SRCDIR}\debug SRC_WIN32DIR = ${SRC_SRCDIR}\win32 SRC_CDBDIR = ${SRC_SRCDIR}\tinycdb SRC_ZLIBDIR = ${SRC_SRCDIR}\zlib MKDIR = md RMF = del #del /q is better if available, as it works on a non-english OS !if ${OS}==Windows_NT RMFALL = del /Q !else RMFALL = echo y|del !endif RMDIR = rmdir ECHO = echo SED = notavailable INSTALL = notavailable INSTALL_PROGRAM = notavailable INSTALL_DATA = notavailable INSTALL_SCRIPT = notavailable INSTALL_DIRS = mkdir CC = bcc32 RC = brc32 # Grr... warning 8060 complains about if (!(var = create())) and the compiler stops # working correctly after 20 or 30 warnings so we have to disable it. # Warning 8057 is that a function parameter is unused... this is probably intentional so # this only makes the compile noisy. #Note on MYSQL support: #libmySQL.lib has to be converted to work with borland, use this borland tool: #COFF2OMF libmySQL.lib libmySQL_bc.lib #Or create it from the dll file: #IMPLIB libmysql_bc.lib libmysql.dll #However the data alignment has to be set to "quad word", thus the -a8 in SQLFLAGS #This might not work flawless, MYSQL suggests to use their static libs from http://www.mysql.com/downloads/os-win32.html !ifdef WITH_GUI bnetd_RESOURCES = ${SRC_WIN32DIR}\resource.res d2cs_RESOURCES = ${SRC_WIN32DIR}\d2cs_resource.res d2dbs_RESOURCES = ${SRC_WIN32DIR}\d2dbs_resource.res GUIBCCFLAGS = -tWM -DWIN32_GUI LINKPREFIX = /aa c0w32 LINKPOSTFIX = cw32mt import32 , , !else LINKPREFIX = /ap c0x32 LINKPOSTFIX = cw32 import32 !endif !ifdef WITH_SQL_MYSQL SQLFLAGS = -DWITH_SQL_MYSQL -a8 !endif !ifdef WITH_SQL_ODBC SQLFLAGS = -DWITH_SQL_ODBC !endif !ifdef WITH_CDB CDBFLAGS = -DWITH_CDB !endif CFLAGS = -v -y -O2 -d -j2 -w-8060 -w-8057 CPPFLAGS = -DWIN32 -I${SRC_SRCDIR} \ -DBNETD_DEFAULT_CONF_FILE=\"${bnetd_DEFCONFFILE:\=\\}\" \ -DD2CS_DEFAULT_CONF_FILE=\"${d2cs_DEFCONFFILE:\=\\}\" \ -DD2DBS_DEFAULT_CONF_FILE=\"${d2dbs_DEFCONFFILE:\=\\}\" \ ${SQLFLAGS} ${CDBFLAGS} ${GUIBCCFLAGS} COMPILE = ${CC} ${CFLAGS} ${CPPFLAGS} -c LINK = ilink32 -v -L${LINK_LIBS_PATH} -I${OBJDIR} !ifdef WITH_SQL_MYSQL !ifdef WITH_SQL_ODBC LINK_LIBS = libmySQL_bc.lib odbc32.lib !else LINK_LIBS = libmySQL_bc.lib !endif !else !ifdef WITH_SQL_ODBC LINK_LIBS = odbc32.lib !else LINK_LIBS = !endif !endif bnetd_DEFCONFFILE = ${confdir}\bnetd.conf bnetd_SBIN = ${SRC_SBINDIR}\bnetd.exe bnetd_OBJECTS = \ ${SRC_BNETDDIR}\main.obj \ ${SRC_BNETDDIR}\server.obj \ ${SRC_BNETDDIR}\connection.obj \ ${SRC_BNETDDIR}\message.obj \ ${SRC_BNETDDIR}\handle_init.obj \ ${SRC_BNETDDIR}\handle_bnet.obj \ ${SRC_BNETDDIR}\handle_file.obj \ ${SRC_BNETDDIR}\handle_bot.obj \ ${SRC_BNETDDIR}\handle_telnet.obj \ ${SRC_BNETDDIR}\handle_irc.obj \ ${SRC_BNETDDIR}\handle_udp.obj \ ${SRC_BNETDDIR}\handle_anongame.obj \ ${SRC_BNETDDIR}\channel.obj \ ${SRC_BNETDDIR}\channel_conv.obj \ ${SRC_BNETDDIR}\game.obj \ ${SRC_BNETDDIR}\anongame.obj \ ${SRC_BNETDDIR}\friends.obj \ ${SRC_BNETDDIR}\command.obj \ ${SRC_BNETDDIR}\account.obj \ ${SRC_BNETDDIR}\account_wrap.obj \ ${SRC_BNETDDIR}\prefs.obj \ ${SRC_BNETDDIR}\tick.obj \ ${SRC_BNETDDIR}\file.obj \ ${SRC_BNETDDIR}\watch.obj \ ${SRC_BNETDDIR}\ladder.obj \ ${SRC_BNETDDIR}\ladder_calc.obj \ ${SRC_BNETDDIR}\adbanner.obj \ ${SRC_BNETDDIR}\timer.obj \ ${SRC_BNETDDIR}\tracker.obj \ ${SRC_BNETDDIR}\ipban.obj \ ${SRC_BNETDDIR}\game_conv.obj \ ${SRC_BNETDDIR}\autoupdate.obj \ ${SRC_BNETDDIR}\helpfile.obj \ ${SRC_BNETDDIR}\mail.obj \ ${SRC_BNETDDIR}\anongame_infos.obj \ ${SRC_BNETDDIR}\anongame_gameresult.obj \ ${SRC_BNETDDIR}\storage.obj \ ${SRC_BNETDDIR}\runprog.obj \ ${SRC_BNETDDIR}\realm.obj \ ${SRC_BNETDDIR}\character.obj \ ${SRC_BNETDDIR}\udptest_send.obj \ ${SRC_BNETDDIR}\versioncheck.obj \ ${SRC_BNETDDIR}\handle_d2cs.obj \ ${SRC_BNETDDIR}\news.obj \ ${SRC_BNETDDIR}\irc.obj \ ${SRC_BNETDDIR}\alias_command.obj \ ${SRC_BNETDDIR}\storage_file.obj \ ${SRC_BNETDDIR}\file_plain.obj \ ${SRC_BNETDDIR}\file_cdb.obj \ ${SRC_BNETDDIR}\storage_sql.obj \ ${SRC_BNETDDIR}\sql_mysql.obj \ ${SRC_BNETDDIR}\sql_odbc.obj \ ${SRC_BNETDDIR}\sql_dbcreator.obj \ ${SRC_BNETDDIR}\command_groups.obj \ ${SRC_BNETDDIR}\output.obj \ ${SRC_BNETDDIR}\tournament.obj \ ${SRC_BNETDDIR}\anongame_maplists.obj \ ${SRC_BNETDDIR}\clan.obj \ ${SRC_BNETDDIR}\topic.obj \ ${SRC_BNETDDIR}\ladder_binary.obj \ ${SRC_BNETDDIR}\support.obj \ ${SRC_BNETDDIR}\team.obj \ ${SRC_BNETDDIR}\attrgroup.obj \ ${SRC_BNETDDIR}\attrlayer.obj \ ${SRC_BNETDDIR}\cmdline.obj \ ${SRC_WIN32DIR}\service.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\bnettime.obj \ ${SRC_COMMONDIR}\bnethash.obj \ ${SRC_COMMONDIR}\bnethashconv.obj \ ${SRC_COMMONDIR}\addr.obj \ ${SRC_COMMONDIR}\hashtable.obj \ ${SRC_COMMONDIR}\give_up_root_privileges.obj \ ${SRC_COMMONDIR}\token.obj \ ${SRC_COMMONDIR}\proginfo.obj \ ${SRC_COMMONDIR}\rlimit.obj \ ${SRC_COMMONDIR}\tag.obj \ ${SRC_COMMONDIR}\trans.obj \ ${SRC_COMMONDIR}\fdwatch.obj \ ${SRC_COMMONDIR}\fdwatch_poll.obj \ ${SRC_COMMONDIR}\fdwatch_select.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMMONDIR}\rcm.obj \ ${SRC_COMMONDIR}\conf.obj \ ${SRC_COMPATDIR}\pdir.obj \ ${SRC_COMPATDIR}\inet_aton.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strdup.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strtoul.obj \ ${SRC_COMPATDIR}\strftime.obj \ ${SRC_COMPATDIR}\strcasecmp.obj \ ${SRC_COMPATDIR}\strncasecmp.obj \ ${SRC_COMPATDIR}\strsep.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\uname.obj \ ${SRC_COMPATDIR}\gettimeofday.obj \ ${SRC_COMPATDIR}\difftime.obj \ ${SRC_COMPATDIR}\memset.obj \ ${SRC_COMPATDIR}\memcpy.obj \ ${SRC_COMPATDIR}\mmap.obj \ ${SRC_COMPATDIR}\getopt.obj \ ${SRC_CDBDIR}\cdb_init.obj \ ${SRC_CDBDIR}\cdb_find.obj \ ${SRC_CDBDIR}\cdb_findnext.obj \ ${SRC_CDBDIR}\cdb_seek.obj \ ${SRC_CDBDIR}\cdb_seq.obj \ ${SRC_CDBDIR}\cdb_unpack.obj \ ${SRC_CDBDIR}\cdb_make_add.obj \ ${SRC_CDBDIR}\cdb_make_put.obj \ ${SRC_CDBDIR}\cdb_make_find.obj \ ${SRC_CDBDIR}\cdb_make.obj \ ${SRC_CDBDIR}\cdb_hash.obj \ $(SRC_ZLIBDIR)\pvpgn_adler32.obj \ $(SRC_ZLIBDIR)\pvpgn_deflate.obj \ $(SRC_ZLIBDIR)\pvpgn_trees.obj \ $(SRC_ZLIBDIR)\pvpgn_zutil.obj \ ${SRC_WIN32DIR}\winmain.obj sbnetd_SBIN = ${SRC_SBINDIR}\sbnetd.exe sbnetd_OBJECTS = ${SRC_DEBUGDIR}\sbnetd.obj \ ${SRC_COMPATDIR}\strerror.obj d2cs_DEFCONFFILE = ${confdir}\d2cs.conf d2cs_SBIN = ${SRC_SBINDIR}\d2cs.exe d2cs_OBJECTS = \ ${SRC_D2CSDIR}\main.obj \ ${SRC_D2CSDIR}\d2gs.obj \ ${SRC_D2CSDIR}\handle_d2gs.obj \ ${SRC_D2CSDIR}\serverqueue.obj \ ${SRC_D2CSDIR}\connection.obj \ ${SRC_D2CSDIR}\game.obj \ ${SRC_D2CSDIR}\server.obj \ ${SRC_D2CSDIR}\handle_init.obj \ ${SRC_D2CSDIR}\handle_d2cs.obj \ ${SRC_D2CSDIR}\d2charfile.obj \ ${SRC_D2CSDIR}\d2charlist.obj \ ${SRC_D2CSDIR}\gamequeue.obj \ ${SRC_D2CSDIR}\prefs.obj \ ${SRC_D2CSDIR}\cmdline.obj \ ${SRC_D2CSDIR}\bnetd.obj \ ${SRC_D2CSDIR}\handle_bnetd.obj \ ${SRC_D2CSDIR}\handle_signal.obj \ ${SRC_D2CSDIR}\s2s.obj \ ${SRC_D2CSDIR}\net.obj \ ${SRC_D2CSDIR}\d2ladder.obj \ ${SRC_COMMONDIR}\conf.obj \ ${SRC_COMMONDIR}\hashtable.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\fdwatch.obj \ ${SRC_COMMONDIR}\fdwatch_poll.obj \ ${SRC_COMMONDIR}\fdwatch_select.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\addr.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\rlimit.obj \ ${SRC_COMMONDIR}\trans.obj \ ${SRC_COMMONDIR}\d2char_checksum.obj \ ${SRC_COMMONDIR}\fdwatch_select.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMMONDIR}\xstring.obj \ ${SRC_COMPATDIR}\inet_aton.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strdup.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strtoul.obj \ ${SRC_COMPATDIR}\strftime.obj \ ${SRC_COMPATDIR}\strcasecmp.obj \ ${SRC_COMPATDIR}\strncasecmp.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\uname.obj \ ${SRC_COMPATDIR}\gettimeofday.obj \ ${SRC_COMPATDIR}\difftime.obj \ ${SRC_COMPATDIR}\pdir.obj \ ${SRC_COMPATDIR}\strsep.obj \ ${SRC_WIN32DIR}\service.obj \ ${SRC_WIN32DIR}\d2cs_winmain.obj d2dbs_DEFCONFFILE = ${confdir}\d2dbs.conf d2dbs_SBIN = ${SRC_SBINDIR}\d2dbs.exe d2dbs_OBJECTS = \ ${SRC_D2DBSDIR}\main.obj \ ${SRC_D2DBSDIR}\charlock.obj \ ${SRC_D2DBSDIR}\d2ladder.obj \ ${SRC_D2DBSDIR}\dbserver.obj \ ${SRC_D2DBSDIR}\dbspacket.obj \ ${SRC_D2DBSDIR}\cmdline.obj \ ${SRC_D2DBSDIR}\prefs.obj \ ${SRC_D2DBSDIR}\dbsdupecheck.obj \ ${SRC_D2DBSDIR}\handle_signal.obj \ ${SRC_COMMONDIR}\conf.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\addr.obj \ ${SRC_COMMONDIR}\d2char_checksum.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\xstring.obj \ ${SRC_COMPATDIR}\inet_aton.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strsep.obj \ ${SRC_WIN32DIR}\service.obj \ ${SRC_WIN32DIR}\d2dbs_winmain.obj bnproxy_SBIN = ${SRC_SBINDIR}\bnproxy.exe bnproxy_OBJECTS = ${SRC_BNPROXYDIR}\bnproxy.obj \ ${SRC_BNPROXYDIR}\virtconn.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\psock.obj bntrackd_SBIN = ${SRC_SBINDIR}\bntrackd.exe bntrackd_OBJECTS= ${SRC_BNTRACKDDIR}\bntrackd.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\psock.obj bnchat_BIN = ${SRC_BINDIR}\bnchat.exe bnchat_OBJECTS = ${SRC_CLIENTDIR}\bnchat.obj \ ${SRC_CLIENTDIR}\client.obj \ ${SRC_CLIENTDIR}\client_connect.obj \ ${SRC_CLIENTDIR}\udptest.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\bnethash.obj \ ${SRC_COMMONDIR}\bnethashconv.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\bnettime.obj \ ${SRC_COMMONDIR}\proginfo.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\vsnprintf.obj \ ${SRC_COMPATDIR}\gettimeofday.obj bnpass_BIN = ${SRC_BINDIR}\bnpass.exe bnpass_OBJECTS = ${SRC_BNPASSDIR}\bnpass.obj \ ${SRC_COMMONDIR}\bnethash.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMPATDIR}\strerror.obj bnftp_BIN = ${SRC_BINDIR}\bnftp.exe bnftp_OBJECTS = ${SRC_CLIENTDIR}\bnftp.obj \ ${SRC_CLIENTDIR}\client.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\bnettime.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strftime.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\gettimeofday.obj bnbot_BIN = ${SRC_BINDIR}\bnbot.exe bnbot_OBJECTS = ${SRC_CLIENTDIR}\bnbot.obj \ ${SRC_CLIENTDIR}\client.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\psock.obj bnstat_BIN = ${SRC_BINDIR}\bnstat.exe bnstat_OBJECTS = ${SRC_CLIENTDIR}\bnstat.obj \ ${SRC_CLIENTDIR}\client.obj \ ${SRC_CLIENTDIR}\client_connect.obj \ ${SRC_CLIENTDIR}\udptest.obj \ ${SRC_COMMONDIR}\packet.obj \ ${SRC_COMMONDIR}\queue.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\network.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\bnethash.obj \ ${SRC_COMMONDIR}\bnethashconv.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\bnettime.obj \ ${SRC_COMMONDIR}\proginfo.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strftime.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\gettimeofday.obj bnilist_BIN = ${SRC_BINDIR}\bnilist.exe bnilist_OBJECTS = ${SRC_BNIUTILSDIR}\bnilist.obj \ ${SRC_BNIUTILSDIR}\fileio.obj \ ${SRC_BNIUTILSDIR}\tga.obj \ ${SRC_COMPATDIR}\strerror.obj bni2tga_BIN = ${SRC_BINDIR}\bni2tga.exe bni2tga_OBJECTS = ${SRC_BNIUTILSDIR}\bni2tga.obj \ ${SRC_BNIUTILSDIR}\fileio.obj \ ${SRC_COMPATDIR}\strerror.obj bniextract_BIN = ${SRC_BINDIR}\bniextract.exe bniextract_OBJECTS= ${SRC_BNIUTILSDIR}\bniextract.obj \ ${SRC_BNIUTILSDIR}\fileio.obj \ ${SRC_BNIUTILSDIR}\tga.obj \ ${SRC_BNIUTILSDIR}\bni.obj \ ${SRC_COMPATDIR}\strerror.obj bnibuild_BIN = ${SRC_BINDIR}\bnibuild.exe bnibuild_OBJECTS= ${SRC_BNIUTILSDIR}\bnibuild.obj \ ${SRC_BNIUTILSDIR}\fileio.obj \ ${SRC_BNIUTILSDIR}\tga.obj \ ${SRC_BNIUTILSDIR}\bni.obj \ ${SRC_COMPATDIR}\strerror.obj tgainfo_BIN = ${SRC_BINDIR}\tgainfo.exe tgainfo_OBJECTS = ${SRC_BNIUTILSDIR}\tgainfo.obj \ ${SRC_BNIUTILSDIR}\fileio.obj \ ${SRC_BNIUTILSDIR}\tga.obj \ ${SRC_COMPATDIR}\strerror.obj timetest_BIN = ${SRC_BINDIR}\timetest.exe timetest_OBJECTS = ${SRC_DEBUGDIR}\timetest.obj \ ${SRC_COMMONDIR}\bn_type.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\bnettime.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\gettimeofday.obj listtest_BIN = ${SRC_BINDIR}\listtest.exe listtest_OBJECTS = ${SRC_DEBUGDIR}\listtest.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strdup.obj hashtabletest_BIN = ${SRC_BINDIR}\hashtabletest.exe hashtabletest_OBJECTS = ${SRC_DEBUGDIR}\hashtabletest.obj \ ${SRC_COMMONDIR}\hashtable.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\strdup.obj addrtest_BIN = ${SRC_BINDIR}\addrtest.exe addrtest_OBJECTS = ${SRC_DEBUGDIR}\addrtest.obj \ ${SRC_COMMONDIR}\addr.obj \ ${SRC_COMMONDIR}\util.obj \ ${SRC_COMMONDIR}\list.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMPATDIR}\inet_aton.obj \ ${SRC_COMPATDIR}\inet_ntoa.obj \ ${SRC_COMPATDIR}\strerror.obj \ ${SRC_COMPATDIR}\psock.obj \ ${SRC_COMPATDIR}\memset.obj \ ${SRC_COMPATDIR}\memcpy.obj \ ${SRC_COMPATDIR}\strdup.obj cdb_BIN = ${SRC_BINDIR}\bncdb.exe cdb_OBJECTS = ${SRC_CDBDIR}\cdb.obj \ ${SRC_CDBDIR}\cdb_init.obj \ ${SRC_CDBDIR}\cdb_seek.obj \ ${SRC_CDBDIR}\cdb_seq.obj \ ${SRC_CDBDIR}\cdb_find.obj \ ${SRC_CDBDIR}\cdb_findnext.obj \ ${SRC_CDBDIR}\cdb_unpack.obj \ ${SRC_CDBDIR}\cdb_make_add.obj \ ${SRC_CDBDIR}\cdb_make_put.obj \ ${SRC_CDBDIR}\cdb_make_find.obj \ ${SRC_CDBDIR}\cdb_make.obj \ ${SRC_CDBDIR}\cdb_hash.obj \ ${SRC_COMMONDIR}\eventlog.obj \ ${SRC_COMMONDIR}\hexdump.obj \ ${SRC_COMMONDIR}\xalloc.obj \ ${SRC_COMPATDIR}\mmap.obj \ ${SRC_COMPATDIR}\getopt.obj \ ${SRC_COMPATDIR}\strerror.obj OBJECTS = ${bnetd_OBJECTS} ${d2cs_OBJECTS} ${d2dbs_OBJECTS} ${bntrackd_OBJECTS} ${bnchat_OBJECTS} ${bnpass_OBJECTS} ${bnbot_OBJECTS} ${bnftp_OBJECTS} ${bnstat_OBJECTS} ${bnilist_OBJECTS} ${bni2tga_OBJECTS} ${bniextract_OBJECTS} ${bnibuild_OBJECTS} ${tgainfo_OBJECTS} ${timetest_OBJECTS} ${listtest_OBJECTS} ${hashtabletest_OBJECTS} ${addrtest_OBJECTS} ${cdb_OBJECTS} GUISBINS = ${bnetd_SBIN} ${d2cs_SBIN} ${d2dbs_SBIN} SBINS = ${bnproxy_SBIN} ${bntrackd_SBIN} BINS = ${bnchat_BIN} ${bnpass_BIN} ${bnftp_BIN} ${bnbot_BIN} ${bnstat_BIN} ${bnilist_BIN} ${bni2tga_BIN} ${bniextract_BIN} ${bnibuild_BIN} ${tgainfo_BIN} ${cdb_BIN} CONFS = ad.conf bnetd.conf bnetd_default_user.plain bnetd_default_user.cdb bnmotd.txt channel.conf news.txt bnban.conf bnhelp.conf autoupdate.conf realm.conf bnmaps.conf bnxplevel.conf bnxpcalc.conf news.txt command_groups.conf bnban.conf bnhelp.conf bnalias.conf anongame_infos.conf tournament.conf topics.conf sql_DB_layout.conf address_translation.conf supportfile.conf SHARES = ad000001.smk tos.txt OTHERBINS = ${sbnetd_OBJECTS} ${sbnetd_SBIN} DIRS = ${SRC_BINDIR} ${SRC_SBINDIR} !ifdef WITH_GUI all: config objdir ${GUISBINS} @echo =================================================================== @echo Build GUI versions of bnetd, d2cs and d2dbs. @echo Now building non GUI stuff. @-${RMF} ${SRC_COMMONDIR}\eventlog.obj @make_borland console !else all: config objdir ${GUISBINS} ${SBINS} ${BINS} -${RMF} ${SRC_COMMONDIR}\eventlog.obj @echo =================================================================== @echo All applications build. @echo =================================================================== !endif !ifndef WITH_GUI console: config objdir ${SBINS} ${BINS} -${RMF} ${SRC_COMMONDIR}\eventlog.obj @echo =================================================================== @echo remaining sbin and bin applications build. @echo =================================================================== !endif objdir: if not exist ${OBJDIR} ${INSTALL_DIRS} ${OBJDIR} clean: # win95 supports only 1 parameter to 'del' & 'rmdir' # and wants 'y' for *.* -${RMF} ${SRC_BNTRACKDDIR}\*.obj -${RMF} ${SRC_CLIENTDIR}\*.obj -${RMF} ${SRC_BNIUTILSDIR}\*.obj -${RMF} ${SRC_BNPASSDIR}\*.obj -${RMF} ${SRC_BNPROXYDIR}\*.obj -${RMF} ${SRC_COMPATDIR}\*.obj -${RMF} ${SRC_COMMONDIR}\*.obj -${RMF} ${SRC_WIN32DIR}\*.obj -${RMF} ${SRC_BNETDDIR}\*.obj -${RMF} ${SRC_D2DBSDIR}\*.obj -${RMF} ${SRC_D2CSDIR}\*.obj -${RMF} ${SRC_CDBDIR}\*.obj -${RMF} ${SRC_ZLIBDIR}\*.obj -${RMF} ${SRC_BNETDDIR}\*.res -${RMF} ${SRC_COMPATDIR}\*.g_obj -${RMF} ${SRC_COMMONDIR}\*.g_obj -${RMF} ${SRC_WIN32DIR}\*.g_obj -${RMF} ${SRC_BNETDDIR}\*.g_obj -${RMF} ${SRC_CDBDIR}\*.g_obj -${RMF} ${SRC_ZLIBDIR}\*.g_obj -${RMFALL} ${SRC_BINDIR}\*.* -${RMFALL} ${SRC_SBINDIR}\*.* -${RMFALL} ${OBJDIR}\*.* -${RMDIR} ${SRC_BINDIR} -${RMDIR} ${SRC_SBINDIR} -${RMDIR} ${OBJDIR} distclean: clean -${RMF} ${SRC_CONFDIR}\bnetd.conf -${RMF} ${SRC_CONFDIR}\d2dbs.conf -${RMF} ${SRC_SRCDIR}\config.cache -${RMF} ${SRC_SRCDIR}\config.log -${RMF} ${SRC_SRCDIR}\config.status -${RMF} ${SRC_SRCDIR}\Makefile -${RMF} ${SRC_SRCDIR}\config.h -${RMDIR} ${SRC_BINDIR} -${RMDIR} ${SRC_SBINDIR} clean-compile: clean all config: ${SRC_SRCDIR}\Makefile ${SRC_SRCDIR}\Makefile: Makefile.BORLAND copy Makefile.BORLAND ${SRC_SRCDIR}\Makefile ${SRC_BINDIR}: if not exist $@ ${INSTALL_DIRS} $@ ${SRC_SBINDIR}: if not exist $@ ${INSTALL_DIRS} $@ install: config all -${INSTALL_DIRS} ${INSTALLDIR} -${INSTALL_DIRS} ${INSTALLDIR}\bin -${INSTALL_DIRS} ${INSTALLDIR}\sbin -${INSTALL_DIRS} ${INSTALLDIR}\var -${INSTALL_DIRS} ${INSTALLDIR}\var\files -${INSTALL_DIRS} ${INSTALLDIR}\var\users -${INSTALL_DIRS} ${INSTALLDIR}\var\reports -${INSTALL_DIRS} ${INSTALLDIR}\var\chanlogs -${INSTALL_DIRS} ${INSTALLDIR}\etc copy ${TOPDIR}\files\*.* ${INSTALLDIR}\var\files copy ${TOPDIR}\conf\*.* ${INSTALLDIR}\etc copy ${INSTALLDIR}\etc\bnetd.conf.win32 ${INSTALLDIR}\etc\bnetd.conf copy ${INSTALLDIR}\etc\d2cs.conf.win32 ${INSTALLDIR}\etc\d2cs.conf copy ${INSTALLDIR}\etc\d2dbs.conf.win32 ${INSTALLDIR}\etc\d2dbs.conf copy ${TOPDIR}\sbin\*.exe ${INSTALLDIR}\sbin copy ${TOPDIR}\bin\*.exe ${INSTALLDIR}\bin copy ${TOPDIR}\*.* ${INSTALLDIR} echo @cd ${INSTALLDIR} > ${INSTALLDIR}\bnetd.bat echo @.\sbin\bnetd.exe -c .\etc\bnetd.conf >> ${INSTALLDIR}\bnetd.bat # The Borland compiler silently ignores -ofilename if it is after the source file # The Borland compiler silently ignores -efilename if it is after the object file .rc.res: ${RC} -r -i${srcdir} -fo$@ $< .c.obj: ${COMPILE} -o$@ $< ${bnetd_SBIN}: ${bnetd_OBJECTS} ${bnetd_RESOURCES} ${SRC_SBINDIR} ${LINK} ${LINKPREFIX} ${bnetd_OBJECTS}, $@, , ${LINK_LIBS} ${LINKPOSTFIX} ${bnetd_RESOURCES} ${d2cs_SBIN}: ${d2cs_OBJECTS} ${d2cs_RESOURCES} ${SRC_SBINDIR} ${LINK} ${LINKPREFIX} ${d2cs_OBJECTS}, $@, , ${LINK_LIBS} ${LINKPOSTFIX} ${d2cs_RESOURCES} ${d2dbs_SBIN}: ${d2dbs_OBJECTS} ${d2dbs_RESOURCES} ${SRC_SBINDIR} ${LINK} ${LINKPREFIX} ${d2dbs_OBJECTS}, $@, , ${LINK_LIBS} ${LINKPOSTFIX} ${d2dbs_RESOURCES} ${bnproxy_SBIN}: ${bnproxy_OBJECTS} ${SRC_SBINDIR} ${LINK} /ap c0x32 ${bnproxy_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bntrackd_SBIN}: ${bntrackd_OBJECTS} ${SRC_SBINDIR} ${LINK} /ap c0x32 ${bntrackd_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnchat_BIN}: ${bnchat_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnchat_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnpass_BIN}: ${bnpass_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnpass_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnftp_BIN}: ${bnftp_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnftp_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnbot_BIN}: ${bnbot_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnbot_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnstat_BIN}: ${bnstat_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnstat_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnilist_BIN}: ${bnilist_OBJECTS} ${LINK} /ap c0x32 ${bnilist_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bni2tga_BIN}: ${bni2tga_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bni2tga_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bniextract_BIN}: ${bniextract_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bniextract_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${bnibuild_BIN}: ${bnibuild_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${bnibuild_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${tgainfo_BIN}: ${tgainfo_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${tgainfo_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${timetest_BIN}: ${timetest_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${timetest_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${listtest_BIN}: ${listtest_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${listtest_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${hashtabletest_BIN}: ${hashtabletest_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${hashtabletest_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${addrtest_BIN}: ${addrtest_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${addrtest_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32 ${cdb_BIN}: ${cdb_OBJECTS} ${SRC_BINDIR} ${LINK} /ap c0x32 ${cdb_OBJECTS}, $@, , ${LINK_LIBS} cw32 import32