This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/clib/Makefile.mak
Vítor Santos Costa 40febfdf9b clib package
2010-06-17 00:40:25 +01:00

161 lines
4.5 KiB
Makefile

################################################################
# Build the SWI-Prolog tabling package for MS-Windows
#
# Author: Jan Wielemaker
#
# Use:
# nmake /f Makefile.mak
# nmake /f Makefile.mak install
################################################################
PLHOME=..\..
!include $(PLHOME)\src\rules.mk
PKGDLL=socket
SOCKOBJ= socket.obj nonblockio.obj error.obj
CGIOBJ= error.obj form.obj cgi.obj
CRYPTOBJ= error.obj crypt.obj md5.obj md5passwd.obj bsd-crypt.obj
MEMOBJ= error.obj memfile.obj
MIMEOBJ= error.obj mime.obj
MIMELIBS= rfc2045.lib rfc822.lib
TIMEOBJ= error.obj time.obj
READOBJ= readutil.obj
PROCESSOBJ= error.obj process.obj
RANDOMOBJ= random.obj
SHAOBJ= error.obj sha4pl.obj sha1/sha1.obj sha1/sha2.obj \
sha1/hmac_sha1.obj sha1/hmac_sha256.obj
URIOBJ= uri.obj
TIMELIBS= winmm.lib
all: socket.dll cgi.dll memfile.dll mime.dll time.dll readutil.dll \
random.dll crypt.dll sha4pl.dll process.dll uri.dll
readutil.dll: $(READOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(READOBJ) $(PLLIB) $(LIBS)
process.dll: $(PROCESSOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(PROCESSOBJ) $(PLLIB) $(LIBS)
socket.dll: $(SOCKOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(SOCKOBJ) $(PLLIB) $(LIBS)
cgi.dll: $(CGIOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(CGIOBJ) $(PLLIB) $(LIBS)
crypt.dll: $(CRYPTOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(CRYPTOBJ) $(PLLIB) $(LIBS)
memfile.dll: $(MEMOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(MEMOBJ) $(PLLIB) $(LIBS)
mime.dll: $(MIMEOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(MIMEOBJ) $(PLLIB) $(LIBS) $(MIMELIBS)
time.dll: $(TIMEOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(TIMEOBJ) $(PLLIB) $(LIBS) $(TIMELIBS)
random.dll: $(RANDOMOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(RANDOMOBJ) $(PLLIB) $(LIBS)
sha4pl.dll: $(SHAOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(SHAOBJ) $(PLLIB) $(LIBS)
uri.dll: $(URIOBJ)
$(LD) /dll /out:$@ $(LDFLAGS) $(URIOBJ) $(PLLIB) $(LIBS)
sha1/hmac_sha1.obj: sha1/hmac.c
$(CC) -I $(PLHOME)\include $(CFLAGS) /DUSE_SHA1 /Fo$@ sha1/hmac.c
sha1/hmac_sha256.obj: sha1/hmac.c
$(CC) -I $(PLHOME)\include $(CFLAGS) /DUSE_SHA256 /Fo$@ sha1/hmac.c
!IF "$(CFG)" == "rt"
install: idll
!ELSE
install: idll ilib
!ENDIF
################################################################
# Testing
################################################################
check: check-socket
torture: torture-socket
check-socket::
"$(PLCON)" -q -f testsocket.pl -F none -g tcp_test,halt -t 'halt(1)'
torture-socket::
"$(PLCON)" -q -f stresssocket.pl -F none -g test,halt -t 'halt(1)'
################################################################
# Installation
################################################################
idll::
copy socket.dll "$(BINDIR)"
copy cgi.dll "$(BINDIR)"
copy crypt.dll "$(BINDIR)"
copy memfile.dll "$(BINDIR)"
copy mime.dll "$(BINDIR)"
copy time.dll "$(BINDIR)"
copy random.dll "$(BINDIR)"
copy readutil.dll "$(BINDIR)"
copy process.dll "$(BINDIR)"
copy sha4pl.dll "$(BINDIR)"
copy uri.dll "$(BINDIR)"
!IF "$(PDB)" == "true"
copy socket.pdb "$(BINDIR)"
copy cgi.pdb "$(BINDIR)"
copy memfile.pdb "$(BINDIR)"
copy mime.pdb "$(BINDIR)"
copy time.pdb "$(BINDIR)"
copy readutil.pdb "$(BINDIR)"
copy process.pdb "$(BINDIR)"
copy sha4pl.pdb "$(BINDIR)"
copy uri.pdb "$(BINDIR)"
!ENDIF
ilib::
copy socket.pl "$(PLBASE)\library"
copy prolog_server.pl "$(PLBASE)\library"
copy streampool.pl "$(PLBASE)\library"
copy cgi.pl "$(PLBASE)\library"
copy crypt.pl "$(PLBASE)\library"
copy memfile.pl "$(PLBASE)\library"
copy mime.pl "$(PLBASE)\library"
copy random.pl "$(PLBASE)\library"
copy time.pl "$(PLBASE)\library"
copy sha.pl "$(PLBASE)\library"
copy uri.pl "$(PLBASE)\library"
copy process.pl "$(PLBASE)\library"
$(MAKEINDEX)
uninstall::
del "$(BINDIR)\socket.dll"
del "$(BINDIR)\streampool.dll"
del "$(BINDIR)\cgi.dll"
del "$(BINDIR)\crypt.dll"
del "$(BINDIR)\memfile.dll"
del "$(BINDIR)\mime.dll"
del "$(BINDIR)\random.dll"
del "$(BINDIR)\time.dll"
del "$(BINDIR)\readutil.dll"
del "$(BINDIR)\sha4pl.dll"
del "$(PLBASE)\library\socket.pl"
del "$(PLBASE)\library\cgi.pl"
del "$(PLBASE)\library\crypt.pl"
del "$(PLBASE)\library\memfile.pl"
del "$(PLBASE)\library\mime.pl"
del "$(PLBASE)\library\random.pl"
del "$(PLBASE)\library\time.pl"
del "$(PLBASE)\library\sha.pl"
del "$(PLBASE)\library\uri.pl"
del "$(PLBASE)\library\process.pl"
$(MAKEINDEX)
html-install::
copy clib.html "$(PKGDOC)"
xpce-install::
clean::
if exist *.obj del *.obj
if exist sha1\*.obj del sha1\*.obj
if exist *~ del *~
distclean: clean
-DEL *.dll *.lib *.exp *.ilk *.pdb 2>nul