161 lines
4.5 KiB
Makefile
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
|
|
|
|
|