################################################################ # Makefile template for SWI-Prolog CLIB package # # This template is used by configure to create Makefile. See # the file INSTALL for further installation instructions. # # License: LGPL # # Author: Jan Wielemaker (wielemak@science.uva.nl) ################################################################ .SUFFIXES: .tex .dvi .doc .pl ifeq (@PROLOG_SYSTEM@,yap) prefix = @prefix@ exec_prefix = @exec_prefix@ ROOTDIR = $(prefix) EROOTDIR = @exec_prefix@ abs_top_builddir = @abs_top_builddir@ srcdir=@srcdir@ BINDIR = $(EROOTDIR)/bin LIBDIR=@libdir@ YAPLIBDIR=@libdir@/Yap SHAREDIR=$(ROOTDIR)/share/Yap SHELL=@SHELL@ PL=@INSTALL_ENV@ $(DESTDIR)$(BINDIR)/yap $(DESTDIR)$(YAPLIBDIR)/startup.yss LN_S=@LN_S@ # # CC=@CC@ CFLAGS= @SHLIB_CFLAGS@ $(YAP_EXTRAS) $(DEFS) -D_YAP_NOT_INSTALLED_=1 -DHAVE_CONFIG_H=1 -I$(srcdir) -I../.. -I$(srcdir)/../../include -I. -I$(srcdir)/maildrop/rfc2045 -I$(srcdir)/maildrop/rfc822 @CPPFLAGS@ MKINDEX=true NETLIBS=@CLIB_NETLIBS@ CRYPTLIBS=@CLIB_CRYPTLIBS@ LD=@DO_SECOND_LD@ @SHLIB_CXX_LD@ LDFLAGS=@EXTRA_LIBS_FOR_SWIDLLS@ BINTARGET=$(DESTDIR)$(YAPLIBDIR) PLTARGET=$(DESTDIR)$(SHAREDIR) FINAL_BINTARGET=$(YAPLIBDIR) FINAL_PLTARGET=$(SHAREDIR) %.o: $(srcdir)/%.c $(CC) -c $(CFLAGS) $< -o $@ sha1/%.o: $(srcdir)/sha1/%.c $(CC) -c $(CFLAGS) $< -o $@ else # SWI PL=@PL@ PLBASE=@PLBASE@ PLARCH=@PLARCH@ PLINCL=@PLINCL@ PKGDOC=$(PLBASE)/doc/packages PCEHOME=../xpce CC=@CC@ COFLAGS=@COFLAGS@ CWFLAGS=@CWFLAGS@ CMFLAGS=@CMFLAGS@ CIFLAGS=-I. -Imaildrop/rfc2045 -Imaildrop/rfc822 CFLAGS=$(COFLAGS) $(CWFLAGS) $(CMFLAGS) $(CIFLAGS) @DEFS@ LIBS=@LIBS@ NETLIBS=@NETLIBS@ CRYPTLIBS=@CRYPTLIBS@ PUBLICPL=swipl DOCTOTEX=$(PCEHOME)/bin/doc2tex PLTOTEX=$(PUBLICPL) -q -s pltotex.pl -g pltotex -- DOC=clib TEX=$(DOC).tex process.tex uri.tex DVI=$(DOC).dvi PDF=$(DOC).pdf RUNTEX=../../man/runtex LD=@LD@ LDFLAGS=@LDSOFLAGS@ BINTARGET=$(DESTDIR)$(PLBASE)/lib/$(PLARCH) PLTARGET=$(DESTDIR)$(PLBASE)/library FINAL_BINTARGET=$(PLBASE)/lib/$(PLARCH) FINAL_PLTARGET=$(PLBASE)/library endif #YAP/SWI MIMELIBS=maildrop/rfc2045/librfc2045.a maildrop/rfc822/librfc822.a INSTALL=@INSTALL@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ INSTALL_DATA=@INSTALL_DATA@ LIBPL= @CLIB_PLTARGETS@ $(srcdir)/streaminfo.pl $(srcdir)/process.pl \ $(srcdir)/prolog_server.pl $(srcdir)/sha.pl \ $(srcdir)/socket.pl \ $(srcdir)/uri.pl TARGETS= @CLIB_TARGETS@ readutil.@SO@ streaminfo.@SO@ process.@SO@ \ sha4pl.@SO@ uri.@SO@ UNXOBJ= error.o unix.o SOCKOBJ= error.o socket.o nonblockio.o CGIOBJ= error.o form.o cgi.o CRYPTOBJ= error.o crypt.o md5.o md5passwd.o MEMOBJ= error.o memfile.o MIMEOBJ= error.o mime.o TIMEOBJ= error.o time.o FILESOBJ= error.o files.o RLIMITOBJ= error.o rlimit.o URIOBJ= uri.o RANDOMOBJ= random.o READUTILOBJ= readutil.o PROCESSOBJ= error.o process.o STREAMINFOOBJ= error.o streaminfo.o SHAOBJ= error.o sha4pl.o sha1/sha1.o sha1/sha2.o \ sha1/hmac_sha1.o sha1/hmac_sha256.o all: $(TARGETS) random.@SO@: $(RANDOMOBJ) $(LD) $(LDFLAGS) -o $@ $(RANDOMOBJ) unix.@SO@: $(UNXOBJ) $(LD) $(LDFLAGS) -o $@ $(UNXOBJ) socket.@SO@: $(SOCKOBJ) $(LD) $(LDFLAGS) -o $@ $(SOCKOBJ) $(NETLIBS) cgi.@SO@: $(CGIOBJ) $(LD) $(LDFLAGS) -o $@ $(CGIOBJ) crypt.@SO@: $(CRYPTOBJ) $(LD) $(LDFLAGS) -o $@ $(CRYPTOBJ) $(CRYPTLIBS) memfile.@SO@: $(MEMOBJ) $(LD) $(LDFLAGS) -o $@ $(MEMOBJ) $(LIBS) mime.@SO@: $(MIMEOBJ) $(MIMELIBS) $(LD) $(LDFLAGS) -o $@ $(MIMEOBJ) $(MIMELIBS) time.@SO@: $(TIMEOBJ) $(LD) $(LDFLAGS) -o $@ $(TIMEOBJ) $(LIBS) files.@SO@: $(FILESOBJ) $(LD) $(LDFLAGS) -o $@ $(FILESOBJ) $(LIBS) rlimit.@SO@: $(RLIMITOBJ) $(LD) $(LDFLAGS) -o $@ $(RLIMITOBJ) $(LIBS) readutil.@SO@: $(READUTILOBJ) $(LD) $(LDFLAGS) -o $@ $(READUTILOBJ) process.@SO@: $(PROCESSOBJ) $(LD) $(LDFLAGS) -o $@ $(PROCESSOBJ) streaminfo.@SO@: $(STREAMINFOOBJ) $(LD) $(LDFLAGS) -o $@ $(STREAMINFOOBJ) sha4pl.@SO@: $(SHAOBJ) $(LD) $(LDFLAGS) -o $@ $(SHAOBJ) uri.@SO@: $(URIOBJ) $(LD) $(LDFLAGS) -o $@ $(URIOBJ) socket.o: $(srcdir)/socket.c $(srcdir)/sockcommon.c sha1/hmac_sha1.o: $(CC) -c $(CFLAGS) -DUSE_SHA1 -o $@ $(srcdir)/sha1/hmac.c sha1/hmac_sha256.o: $(CC) -c $(CFLAGS) -DUSE_SHA256 -o $@ $(srcdir)/sha1/hmac.c maildrop/rfc822/librfc822.a: (cd maildrop/rfc822 && $(MAKE)) maildrop/rfc2045/librfc2045.a: (cd maildrop/rfc2045 && $(MAKE)) install: $(TARGETS) $(LIBPL) mkdir -p $(BINTARGET) for f in $(TARGETS); do \ $(INSTALL_PROGRAM) $$f $(BINTARGET); \ done mkdir -p $(PLTARGET) for f in $(LIBPL); do \ $(INSTALL_DATA) $$f $(PLTARGET); \ done $(PL) -f none -g make -t halt ln-install:: @$(MAKE) INSTALL_DATA='../ln-install' INSTALL_PROGRAM='../ln-install' install rpm-install: install html-install:: mkdir -p $(DESTDIR)$(PKGDOC) $(INSTALL) -m 644 clib.html $(DESTDIR)$(PKGDOC) pdf-install:: mkdir -p $(DESTDIR)$(PKGDOC) $(INSTALL) -m 644 clib.pdf $(DESTDIR)$(PKGDOC) uninstall:: (cd $(FINAL_BINTARGET) && rm -f $(TARGETS)) (cd $(FINAL_PLTARGET) && rm -f $(LIBPL)) $(PL) -f none -g make -t halt ################################################################ # Testing ################################################################ check: check-socket check-memfile check-unit check-process \ check-read check-uri check-cgi torture: torture-socket check-socket:: $(PL) -q -f $(srcdir)/test_socket.pl -F none -g test_socket,halt -t 'halt(1)' torture-socket:: $(PL) -q -f $(srcdir)/stresssocket.pl -F none -g test,halt -t 'halt(1)' check-memfile:: $(PL) -q -f $(srcdir)/test_memfile.pl -F none -g test_memfile,halt -t 'halt(1)' check-unit:: $(PL) -q -f $(srcdir)/test.pl -g run_tests,halt -t 'halt(1)' check-uri:: $(PL) -q -f $(srcdir)/test_uri.pl -g true -t test_uri check-cgi:: $(PL) -q -f $(srcdir)/test_cgi.pl -g true -t test_cgi check-process:: $(PL) -q -f $(srcdir)/test_process.pl -g true -t test_process check-read:: $(PL) -q -f $(srcdir)/test_readutil.pl -g true -t test_readutil ################################################################ # Documentation ################################################################ pdf: $(PDF) $(DVI): $(TEX) $(RUNTEX) $(DOC) $(PDF): $(TEX) $(RUNTEX) --pdf $(DOC) html: $(TEX) latex2html $(DOC) mv html/index.html clib.html rm -r html $(TEX): $(DOCTOTEX) uri.tex: uri.pl $(PLTOTEX) 'library(uri)' process.tex: process.pl $(PLTOTEX) 'library(process)' .doc.tex: $(DOCTOTEX) $*.doc > $*.tex ################################################################ # Clean ################################################################ clean: rm -f $(OBJ) *~ *.o *% a.out core config.log sha1/*.o rm -f $(TEX) -(cd maildrop/rfc822 && $(MAKE) clean) -(cd maildrop/rfc2045 && $(MAKE) clean) distclean: clean rm -f $(TARGETS) config.cache config.h config.status Makefile rm -f clib.aux clib.log clib.out clib.toc rm -rf html -(cd maildrop/rfc822 && $(MAKE) distclean) -(cd maildrop/rfc2045 && $(MAKE) distclean)