Makefile revision 1703
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
bec154197d3d640b0d5b416cd5218ea58dca5d3aTinderbox User# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
e21a2904f02a03fa06b6db04d348f65fe9c67b2bMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/shared-macros.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinPATH=/usr/bin:/usr/gnu/bin:/usr/sbin:/usr/perl5/bin
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_NAME= squid
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCOMPONENT_VERSION= 3.1.23
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_PROJECT_URL= http://www.squid-cache.org/
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_ARCHIVE_HASH= \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sha256:ba5f6a7000a032f2315923c1b8d0b37458d33a7f59d603facecf9e8c12470b34
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)Versions/v3/3.1/$(COMPONENT_ARCHIVE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCOMPONENT_BUGDB= utility/squid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/prep.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/configure.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/ips.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
71c66a876ecca77923638d3f94cc0783152b2f03Mark AndrewsCOMPILER = gcc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS += -I/usr/include/kerberosv5
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS += $(CPP_LARGEFILES)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Squid has own prefix
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_PREFIX = /usr/squid
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --libexecdir=$(CONFIGURE_PREFIX)/libexec
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --localstatedir=/var/squid
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --sharedstatedir=/var/squid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)/squid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --mandir=$(CONFIGURE_PREFIX)/man
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-arp-acl
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-auth='basic,digest,negotiate,ntlm'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-basic-auth-helpers='DB,NCSA,YP,LDAP,PAM,getpwnam,MSNT,POP3,multi-domain-NTLM,SMB,SASL'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-cache-digests
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-carp
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-coss-aio-ops
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-delay-pools
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-digest-auth-helpers='ldap,password'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-external-acl-helpers='ip_user,unix_group,ldap_group,wbinfo_group'
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-follow-x-forwarded-for
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-forward-log
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-forw-via-db
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-htcp
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-icmp
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-large-cache-files
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-multicast-miss
0ccb0e98c77a9b9636a036f8f64f5679a430aaf4Tinderbox UserCONFIGURE_OPTIONS += --enable-negotiate-auth-helpers='squid_kerb_auth'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-ntlm-auth-helpers='smb_lm,fakeauth,no_check'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-ntlm-fail-open
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-referer-log
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-removal-policies='heap,lru'
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --enable-snmp
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic UpdaterCONFIGURE_OPTIONS += --enable-ssl
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox UserCONFIGURE_OPTIONS += --enable-storeio='aufs,diskd,ufs'
a1ad6695ed6f988406cf155aa26376f84f73bcb9Automatic UpdaterCONFIGURE_OPTIONS += --enable-useragent-log
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterCONFIGURE_OPTIONS += --enable-x-accelerator-vary
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox UserCONFIGURE_OPTIONS += --with-aio
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic UpdaterCONFIGURE_OPTIONS += --with-aufs-threads=8
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox UserCONFIGURE_OPTIONS += --with-large-files
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic UpdaterCONFIGURE_OPTIONS += --with-build-environment=POSIX_V6_ILP32_OFFBIG
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGURE_OPTIONS += --with-pthreads
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox UserCOMPONENT_POST_BUILD_ACTION= \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (cd $(COMPONENT_DIR) ; \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(CP) files/squid.conf.default $(@D)/src)
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# common targets
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox Userbuild: $(BUILD_32)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: $(INSTALL_32)
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# configure says it needs cppunit to test with.
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User# After some work I can get cppunit to build but it quickly
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User# falls over during test so giving up.
c986916269e0d9ca0a31efb62ff5ac06938815dbTinderbox User# I don't think the test suite really tests squid's functionality anyways.
7208386cd37a2092c70eddf80cf29519b16c4c80Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# To test manually follow along in the book
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updater# Squid Proxy Server 3.1 Beginner's Guide Page 34
507151045be68c671ffd4e2f37e17cdfa0376fc4Automatic Updater#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Add this to the top of /etc/squid/squid.conf:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# cache_dir ufs /var/squid/cache/ 500 16 256
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# acl my_machine src 192.0.2.21 # Replace with your desktop's IP address
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# http_access allow my_machine
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Make sure apache is running.
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# # svcs apache22
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# Start squid:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# # svcadm enable squid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# On your desktop set your web browser to proxy through this squid:
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# Edit -> Preferences -> Advanced -> Network -> Settings
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Check: Manual proxy configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# HTTP Proxy: <squid servers IP address> Port: 3128
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews# Save
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Enter <squid server URL> in your web browser. You should be accessing squid
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and seeing files stored in the http server on that machine.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Enter <squid server URL>:897 in your web browser and squid should complain.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Squid is working properly.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeintest: $(NO_TESTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinBUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude ../../make-rules/depend.mk
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein