Skip to content
Snippets Groups Projects
Makefile.am 3.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • Daniel Stenberg's avatar
    Daniel Stenberg committed
    #***************************************************************************
    #                                  _   _ ____  _
    #  Project                     ___| | | |  _ \| |
    #                             / __| | | | |_) | |
    #                            | (__| |_| |  _ <| |___
    #                             \___|\___/|_| \_\_____|
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #
    
    # Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al.
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #
    # This software is licensed as described in the file COPYING, which
    # you should have received as part of this distribution. The terms
    # are also available at http://curl.haxx.se/docs/copyright.html.
    #
    # You may opt to use, copy, modify, merge, publish, distribute and/or sell
    # copies of the Software, and permit persons to whom the Software is
    # furnished to do so, under the terms of the COPYING file.
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    #
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    # KIND, either express or implied.
    #
    # $Id$
    ###########################################################################
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    AUTOMAKE_OPTIONS = foreign
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    EXTRA_DIST = CHANGES COPYING maketgz reconf Makefile.dist curl-config.in \
    
     curl-style.el sample.emacs RELEASE-NOTES buildconf buildconf.bat libcurl.pc.in
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    SUBDIRS = lib src
    DIST_SUBDIRS = $(SUBDIRS) tests include packages docs
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    pkgconfigdir = $(libdir)/pkgconfig
    pkgconfig_DATA = libcurl.pc
    
    
    dist-hook:
    
    	rm -rf $(top_builddir)/tests/log
    
    	find $(distdir) -name "*.dist" -exec rm {} \;
    	(distit=`find $(srcdir) -name "*.dist"`; \
    	for file in $$distit; do \
    	  strip=`echo $$file | sed -e s/^$(srcdir)// -e s/\.dist//`; \
    	  cp $$file $(distdir)$$strip; \
    	done)
    
    html:
    	cd docs; make html
    
    
    if CROSSCOMPILING
    test-full: test
    test-torture: test
    
    test:
    	@echo "NOTICE: we can't run the tests when cross-compiling!"
    
    else
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    test:
    
    	@(cd tests; $(MAKE) all quiet-test)
    
    	@(cd tests; $(MAKE) all full-test)
    
    test-torture:
    	@(cd tests; $(MAKE) all torture-test)
    
    
    # Build source and binary rpms. For rpm-3.0 and above, the ~/.rpmmacros
    # must contain the following line:
    # %_topdir /home/loic/local/rpm
    # and that /home/loic/local/rpm contains the directory SOURCES, BUILD etc.
    #
    
    # cd /home/loic/local/rpm ; mkdir -p SOURCES BUILD RPMS/i386 SPECS SRPMS
    #
    
    # If additional configure flags are needed to build the package, add the
    # following in ~/.rpmmacros
    # %configure CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} ${AM_CONFIGFLAGS}
    # and run make rpm in the following way:
    # AM_CONFIGFLAGS='--with-uri=/home/users/loic/local/RedHat-6.2' make rpm
    #
    
    rpms:
    	$(MAKE) RPMDIST=curl rpm
    	$(MAKE) RPMDIST=curl-ssl rpm
    
    rpm:
    	RPM_TOPDIR=`rpm --showrc | $(PERL) -n -e 'print if(s/.*_topdir\s+(.*)/$$1/)'` ; \
    
    	cp $(srcdir)/packages/Linux/RPM/$(RPMDIST).spec $$RPM_TOPDIR/SPECS ; \
    
    	cp $(PACKAGE)-$(VERSION).tar.gz $$RPM_TOPDIR/SOURCES ; \
    	rpm -ba --clean --rmsource $$RPM_TOPDIR/SPECS/$(RPMDIST).spec ; \
    	mv $$RPM_TOPDIR/RPMS/i386/$(RPMDIST)-*.rpm . ; \
    	mv $$RPM_TOPDIR/SRPMS/$(RPMDIST)-*.src.rpm .
    
    
    #
    # Build a Solaris pkkgadd format file
    # run 'make pkgadd' once you've done './configure' and 'make' to make a Solaris pkgadd format
    # file (which ends up back in this directory).
    # The pkgadd file is in 'pkgtrans' format, so to install on Solaris, do
    # pkgadd -d ./HAXXcurl-*
    #
    
    # gak - libtool requires an absoulte directory, hence the pwd below...
    pkgadd:
    	umask 022 ; \
    	make install DESTDIR=`/bin/pwd`/packages/Solaris/root ; \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    	cat COPYING > $(srcdir)/packages/Solaris/copyright ; \
    
    	cd $(srcdir)/packages/Solaris && $(MAKE) package
    
    # Build a cygwin binary tarball installation file
    # resulting .tar.bz2 file will end up at packages/Win32/cygwin
    
    cygwinbin:
    
    	$(MAKE) -C packages/Win32/cygwin cygwinbin
    
    
    # We extend the standard install with a custom hook:
    install-data-hook:
    	cd include && $(MAKE) install
    	cd docs && $(MAKE) install
    
    
    # We extend the standard uninstall with a custom hook:
    uninstall-hook:
    	cd include && $(MAKE) uninstall
    	cd docs && $(MAKE) uninstall