blob: 4d39fbc585634bd48d8847c0b0a036b2e3166486 [file] [log] [blame]
#######################################################
# MAKEFILE for building ccgnu2.dll and ccext2.dll #
# #
# (c) 2004 by Darko Miletic #
# e-mail: kiklop@fibertel.com.ar #
# #
# Modified 24-Aug-2005 by Conrad T. Pino #
# e-mail: Conrad@Pino.com #
# Compile with Borland C++ Builder 6.0 #
#######################################################
.autodepend
!ifndef CC
CC=bcc32
!endif
ILINK32=ilink32
!ifndef BMODE
BMODE = RELEASE
!endif
!if $(BMODE) != RELEASE && $(BMODE) != DEBUG
! error Illegal value for BMODE option
!endif
#C++ compile flags
!if $(BMODE) == RELEASE
CPPFLAGS=-q -v- -O2 -k- -tWD -tWM -w-inl -w-par -w-aus -w-pia -w-ccc -w-rch -w-csu -w-hid -w-pro -D$(USERDEFINES);$(SYSDEFINES) -I$(INCDIR)
LINKFLAGS=-v- -Tpd -aa -Gn -Gi -c -L$(LIBDIR)
USERDEFINES=_WINVER=0x0400;_WIN32_WINNT=0x0400;STRICT;_MBCS;NODEBUG;WIN32;_USRDLL;_WINDOWS;CCGNU2_EXPORTS;CCEXT2_EXPORTS
OUTDIR=Release
DBG=
!message Building release version of dll'S
!else
CPPFLAGS=-q -v -Od -k -tWD -tWM -Q+ -D$(USERDEFINES);$(SYSDEFINES) -I$(INCDIR)
LINKFLAGS=-v -Tpd -aa -Gn -Gi -c -L$(LIBDIR)
USERDEFINES=_WINVER=0x0400;_WIN32_WINNT=0x0400;STRICT;_MBCS;_DEBUG;WIN32;_USRDLL;_WINDOWS;CCGNU2_EXPORTS;CCEXT2_EXPORTS
OUTDIR=Debug
DBG=D
!message Building debug version of dll'S
!endif
.cpp.obj:
@$(CC) $(CPPFLAGS) -I$(INCDIR) /c -o$@ $<
.c.obj:
@$(CC) $(CPPFLAGS) -I$(INCDIR) /c -o$@ $<
LIBBASE1=ccgnu2$(DBG)
LIBBASE2=ccext2$(DBG)
LIBNAME1=$(LIBBASE1).dll
LIBNAME2=$(LIBBASE2).dll
INCDIR=..\w32;..\include
LIBDIR=.\$(OUTDIR)
SRC=..\src
OBJ=.\$(OUTDIR)\obj
BIN=.\$(OUTDIR)
#RESFILE=CCXX2.res
SYSDEFINES=
################################
# Target
################################
PROJECT1=$(BIN)\$(LIBNAME1)
PROJECT2=$(BIN)\$(LIBNAME2)
OBJFILES1=$(OBJ)\dir.obj \
$(OBJ)\dso.obj \
$(OBJ)\event.obj \
$(OBJ)\exception.obj \
$(OBJ)\file.obj \
$(OBJ)\friends.obj \
$(OBJ)\in6addr.obj \
$(OBJ)\inaddr.obj \
$(OBJ)\keydata.obj \
$(OBJ)\mempager.obj \
$(OBJ)\missing.obj \
$(OBJ)\mutex.obj \
$(OBJ)\nat.obj \
$(OBJ)\peer.obj \
$(OBJ)\process.obj \
$(OBJ)\semaphore.obj \
$(OBJ)\simplesocket.obj \
$(OBJ)\slog.obj \
$(OBJ)\socket.obj \
$(OBJ)\strchar.obj \
$(OBJ)\string.obj \
$(OBJ)\thread.obj \
$(OBJ)\threadkey.obj
OBJFILES2=$(OBJ)\buffer.obj \
$(OBJ)\cmdoptns.obj \
$(OBJ)\date.obj \
$(OBJ)\digest.obj \
$(OBJ)\engine.obj \
$(OBJ)\getopt.obj \
$(OBJ)\getopt1.obj \
$(OBJ)\md5.obj \
$(OBJ)\network.obj \
$(OBJ)\numbers.obj \
$(OBJ)\persist.obj \
$(OBJ)\serial.obj \
$(OBJ)\unix.obj \
$(OBJ)\url.obj \
$(OBJ)\urlstring.obj \
$(OBJ)\xml.obj
RESFILES=
LIBFILES=ws2_32.lib
DEFFILE=
BCC32STARTUP=c0d32.obj
BCC32RTLIB=cw32mt.lib
ALLOBJS1=$(BCC32STARTUP) $(OBJFILES1)
ALLOBJS2=$(BCC32STARTUP) $(OBJFILES2)
ALLLIBS=$(LIBFILES) import32.lib $(BCC32RTLIB)
ALLLIBS1=$(ALLLIBS)
ALLLIBS2=$(ALLLIBS) $(LIBBASE1).lib
all: dirs $(RESFILE) $(PROJECT1) $(PROJECT2) cleansym
cleanobj::
-@echo Deleting intermediate files for project
-@if exist $(OBJ)\*.obj del $(OBJ)\*.obj
cleansym::
!if $(BMODE) == DEBUG
-@echo Keeping symbol files for project
!elif $(BMODE) == RELEASE
-@echo Deleting symbol files for project
-@if exist $(BIN)\*.tds del $(BIN)\*.tds
-@if exist $(BIN)\*.map del $(BIN)\*.map
!endif
cleantgt::
-@echo Deleting output files for project
-@if exist $(BIN)\$(LIBBASE1).* del $(BIN)\$(LIBBASE1).*
-@if exist $(BIN)\$(LIBBASE2).* del $(BIN)\$(LIBBASE2).*
clean: cleanobj cleantgt
-@echo Deleting output directory
-@if exist $(OBJ) rd $(OBJ)
-@if exist $(BIN) rd $(BIN)
dirs::
-@echo Creating output directory
-@if not exist $(BIN) md $(BIN)
-@if not exist $(OBJ) md $(OBJ)
##################################
# Output
##################################
$(PROJECT1):: $(OBJFILES1)
$(ILINK32) @&&|
$(LINKFLAGS) $(ALLOBJS1)
$<,$*
$(ALLLIBS1)
$(DEFFILE)
$(RESFILE)
|
$(PROJECT2):: $(PROJECT) $(OBJFILES2)
$(ILINK32) @&&|
$(LINKFLAGS) $(ALLOBJS2)
$<,$*
$(ALLLIBS2)
$(DEFFILE)
$(RESFILE)
|
#Dependencies - explicit rules
$(OBJ)\dir.obj: $(SRC)\dir.cpp
$(OBJ)\dso.obj: $(SRC)\dso.cpp
$(OBJ)\event.obj: $(SRC)\event.cpp
$(OBJ)\exception.obj: $(SRC)\exception.cpp
$(OBJ)\file.obj: $(SRC)\file.cpp
$(OBJ)\friends.obj: $(SRC)\friends.cpp
$(OBJ)\in6addr.obj: $(SRC)\in6addr.cpp
$(OBJ)\inaddr.obj: $(SRC)\inaddr.cpp
$(OBJ)\keydata.obj: $(SRC)\keydata.cpp
$(OBJ)\mempager.obj: $(SRC)\mempager.cpp
$(OBJ)\missing.obj: $(SRC)\missing.cpp
$(OBJ)\mutex.obj: $(SRC)\mutex.cpp
$(OBJ)\nat.obj: $(SRC)\nat.cpp
$(OBJ)\peer.obj: $(SRC)\peer.cpp
$(OBJ)\process.obj: $(SRC)\process.cpp
$(OBJ)\semaphore.obj: $(SRC)\semaphore.cpp
$(OBJ)\simplesocket.obj: $(SRC)\simplesocket.cpp
$(OBJ)\slog.obj: $(SRC)\slog.cpp
$(OBJ)\socket.obj: $(SRC)\socket.cpp
$(OBJ)\strchar.obj: $(SRC)\strchar.cpp
$(OBJ)\string.obj: $(SRC)\string.cpp
$(OBJ)\thread.obj: $(SRC)\thread.cpp
$(OBJ)\threadkey.obj: $(SRC)\threadkey.cpp
$(OBJ)\buffer.obj: $(SRC)\buffer.cpp
$(OBJ)\cmdoptns.obj: $(SRC)\cmdoptns.cpp
$(OBJ)\date.obj: $(SRC)\date.cpp
$(OBJ)\digest.obj: $(SRC)\digest.cpp
$(OBJ)\engine.obj: $(SRC)\engine.cpp
$(OBJ)\getopt.obj: $(SRC)\getopt.c
$(OBJ)\getopt1.obj: $(SRC)\getopt1.c
$(OBJ)\md5.obj: $(SRC)\md5.cpp
$(OBJ)\network.obj: $(SRC)\network.cpp
$(OBJ)\numbers.obj: $(SRC)\numbers.cpp
$(OBJ)\persist.obj: $(SRC)\persist.cpp
$(OBJ)\serial.obj: $(SRC)\serial.cpp
$(OBJ)\unix.obj: $(SRC)\unix.cpp
$(OBJ)\url.obj: $(SRC)\url.cpp
$(OBJ)\urlstring.obj: $(SRC)\urlstring.cpp
$(OBJ)\xml.obj: $(SRC)\xml.cpp
#$(RESFILE):
# @brcc32 -d__MINGW32__ CCXX2.rc