Fix slightly incorrect parsing of requests.
[polipo.git] / Makefile
blobe241d64a132370f43db22dc673e54cc2000cf403
1 PREFIX = /usr/local
2 BINDIR = $(PREFIX)/bin
3 MANDIR = $(PREFIX)/man
4 INFODIR = $(PREFIX)/info
5 LOCAL_ROOT = /usr/share/polipo/www
6 DISK_CACHE_ROOT = /var/cache/polipo
8 # To compile with Unix CC:
10 # CDEBUGFLAGS=-O
12 # To compile with GCC:
14 # CC = gcc
15 # CDEBUGFLAGS = -Os -g -Wall -std=gnu99
16 CDEBUGFLAGS = -Os -g -Wall
17 # CDEBUGFLAGS = -Os -Wall
18 # CDEBUGFLAGS = -g -Wall
20 # To compile on a pure POSIX system:
22 # CC = c89
23 # CC = c99
24 # CDEBUGFLAGS=-O
26 # To compile with icc 7, you need -restrict. (Their bug.)
28 # CC=icc
29 # CDEBUGFLAGS = -O -restrict
31 # On System V (Solaris, HP/UX) you need the following:
33 # PLATFORM_DEFINES = -DSVR4
35 # On Solaris, you need the following:
37 # LDLIBS = -lsocket -lnsl -lresolv
39 # On mingw, you need
41 # EXE=.exe
42 # LDLIBS = -lwsock32
44 FILE_DEFINES = -DLOCAL_ROOT=\"$(LOCAL_ROOT)/\" \
45 -DDISK_CACHE_ROOT=\"$(DISK_CACHE_ROOT)/\"
47 # You may optionally also add any of the following to DEFINES:
49 # -DNO_DISK_CACHE to compile out the on-disk cache and local web server;
50 # -DNO_IPv6 to avoid using the RFC 3493 API and stick to stock
51 # Berkeley sockets;
52 # -DHAVE_IPv6 to force the use of the RFC 3493 API on systems other
53 # than GNU/Linux and BSD (let me know if it works);
54 # -DNO_FANCY_RESOLVER to compile out the asynchronous name resolution
55 # code;
56 # -DNO_STANDARD_RESOLVER to compile out the code that falls back to
57 # gethostbyname/getaddrinfo when DNS requests fail;
58 # -DNO_TUNNEL to compile out the code that handles CONNECT requests;
59 # -DNO_SOCKS to compile out the SOCKS gateway code.
60 # -DNO_FORBIDDEN to compile out the all of the forbidden URL code
61 # -DNO_REDIRECTOR to compile out the Squid-style redirector code
63 DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
65 CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
67 SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \
68 config.c local.c http.c client.c server.c auth.c tunnel.c \
69 http_parse.c parse_time.c dns.c forbidden.c \
70 md5import.c md5.c ftsimport.c fts_compat.c socks.c mingw.c
72 OBJS = util.o event.o io.o chunk.o atom.o object.o log.o diskcache.o main.o \
73 config.o local.o http.o client.o server.o auth.o tunnel.o \
74 http_parse.o parse_time.o dns.o forbidden.o \
75 md5import.o ftsimport.o socks.o mingw.o
77 polipo$(EXE): $(OBJS)
78 $(CC) $(CFLAGS) $(LDFLAGS) -o polipo$(EXE) $(OBJS) $(MD5LIBS) $(LDLIBS)
80 ftsimport.o: ftsimport.c fts_compat.c
82 md5import.o: md5import.c md5.c
84 .PHONY: all install install.binary install.man
86 all: polipo$(EXE) polipo.info html/index.html localindex.html
88 install: install.binary install.man
90 install.binary: all
91 mkdir -p $(TARGET)$(BINDIR)
92 mkdir -p $(TARGET)$(LOCAL_ROOT)
93 mkdir -p $(TARGET)$(LOCAL_ROOT)/doc
94 rm -f $(TARGET)$(BINDIR)/polipo
95 cp -f polipo $(TARGET)$(BINDIR)/
96 cp -f html/* $(TARGET)$(LOCAL_ROOT)/doc
97 cp -f localindex.html $(TARGET)$(LOCAL_ROOT)/index.html
99 install.man: all
100 mkdir -p $(TARGET)$(MANDIR)/man1
101 mkdir -p $(TARGET)$(INFODIR)
102 cp -f polipo.man $(TARGET)$(MANDIR)/man1/polipo.1
103 cp polipo.info $(TARGET)$(INFODIR)/
104 install-info --info-dir=$(INFODIR) polipo.info
107 polipo.info: polipo.texi
108 makeinfo polipo.texi
110 html/index.html: polipo.texi
111 mkdir -p html
112 makeinfo --html -o html polipo.texi
114 polipo.html: polipo.texi
115 makeinfo --html --no-split --no-headers -o polipo.html polipo.texi
117 polipo.pdf: polipo.texi
118 texi2pdf polipo.texi
120 polipo.ps.gz: polipo.ps
121 gzip -c polipo.ps > polipo.ps.gz
123 polipo.ps: polipo.dvi
124 dvips -Pwww -o polipo.ps polipo.dvi
126 polipo.dvi: polipo.texi
127 texi2dvi polipo.texi
129 polipo.man.html: polipo.man
130 groff -man -Thtml polipo.man > polipo.man.html
132 TAGS: $(SRCS)
133 etags $(SRCS)
135 .PHONY: clean
137 clean:
138 -rm -f polipo$(EXE) *.o *~ core TAGS gmon.out
139 -rm -f polipo.cp polipo.fn polipo.log polipo.vr
140 -rm -f polipo.cps polipo.info* polipo.pg polipo.toc polipo.vrs
141 -rm -f polipo.aux polipo.dvi polipo.ky polipo.ps polipo.tp
142 -rm -f polipo.dvi polipo.ps polipo.ps.gz polipo.pdf polipo.html
143 -rm -rf ./html/
144 -rm -f polipo.man.html