2 # Copyright Gerhard Rieger 2001-2008
3 # Published under the GNU General Public License V.2, see file COPYING
5 # note: @...@ forms are filled in by configure script
14 exec_prefix = @
exec_prefix@
18 datarootdir
= @datarootdir@
25 CCOPTS
= $(CCOPT
) -Wall
-Wno-parentheses
28 CPPFLAGS
= -I. @CPPFLAGS@
29 #0 INCLS = -I. @V_INCL@
36 #OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o) @LIBOBJS@
39 #0 CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(INCLS)
40 CFLAGS
= @CFLAGS@
$(CCOPTS
) $(DEFS
) $(CPPFLAGS
)
42 #CLIBS = $(LIBS) -lm -lefence
43 XIOSRCS
= xioinitialize.c xiohelp.c xioparam.c xiodiag.c xioopen.c xioopts.c \
44 xiosignal.c xiosigchld.c xioread.c xiowrite.c \
45 xiolayer.c xioshutdown.c xioclose.c xioexit.c \
46 xio-process.c xio-fd.c xio-fdnum.c xio-stdio.c xio-pipe.c \
47 xio-gopen.c xio-creat.c xio-file.c xio-named.c \
48 xio-socket.c xio-interface.c xio-listen.c xio-unix.c \
49 xio-ip.c xio-ip4.c xio-ip6.c xio-ipapp.c xio-tcp.c \
50 xio-sctp.c xio-rawip.c \
51 xio-socks.c xio-proxy.c xio-udp.c \
53 xio-progcall.c xio-exec.c xio-system.c xio-termios.c xio-readline.c \
54 xio-pty.c xio-openssl.c xio-streams.c\
55 xio-ascii.c xiolockfile.c xio-tcpwrap.c xio-ext2.c xio-tun.c
56 XIOOBJS
= $(XIOSRCS
:.c
=.o
)
57 UTLSRCS
= error.c dalan.c procan.c procan-cdefs.c hostan.c fdname.c sysutils.c utils.c nestlex.c @FILAN@ @SYCLS@ @SSLCLS@
58 UTLOBJS
= $(UTLSRCS
:.c
=.o
)
59 CFILES
= $(XIOSRCS
) $(UTLSRCS
) socat.c procan_main.c filan_main.c
60 OFILES
= $(CFILES
:.c
=.o
)
61 PROGS
= socat procan filan
63 HFILES
= sycls.h sslcls.h error.h dalan.h procan.h filan.h hostan.h sysincludes.h xio.h xioopen.h sysutils.h utils.h nestlex.h compat.h \
64 xioconfig.h mytypes.h xioopts.h xiodiag.h xiohelp.h xiosysincludes.h \
65 xiomodes.h xiolayer.h xio-process.h xio-fd.h xio-fdnum.h xio-stdio.h \
66 xio-named.h xio-file.h xio-creat.h xio-gopen.h xio-pipe.h \
67 xio-socket.h xio-interface.h xio-listen.h xio-unix.h \
68 xio-ip.h xio-ip4.h xio-ip6.h xio-rawip.h \
69 xio-ipapp.h xio-tcp.h xio-udp.h xio-sctp.h \
70 xio-socks.h xio-proxy.h xio-progcall.h xio-exec.h \
71 xio-system.h xio-termios.h xio-readline.h \
72 xio-pty.h xio-openssl.h xio-streams.h \
73 xio-ascii.h xiolockfile.h xio-tcpwrap.h xio-ext2.h xio-tun.h
76 DOCFILES
= README README.FIPS CHANGES FILES EXAMPLES PORTING SECURITY DEVELOPMENT doc
/socat.yo doc
/socat
.1 doc
/socat.html doc
/xio.help FAQ BUGREPORTS COPYING COPYING.OpenSSL doc
/dest-unreach.css doc
/socat-openssltunnel.html doc
/socat-multicast.html doc
/socat-tun.html doc
/socat-genericsocket.html
77 SHFILES
= daemon.sh mail.sh ftp.sh readline.sh
78 TESTFILES
= test.sh socks4echo.sh proxyecho.sh gatherinfo.sh readline-test.sh \
79 proxy.sh socks4a-echo.sh testcert.conf
80 OSFILES
= Config
/Makefile.Linux-2-6-24 Config
/config.Linux-2-6-24.h \
81 Config
/Makefile.SunOS-5-10 Config
/config.SunOS-5-10.h \
82 Config
/Makefile.FreeBSD-6-1 Config
/config.FreeBSD-6-1.h \
83 Config
/Makefile.NetBSD-4-0 Config
/config.NetBSD-4-0.h \
84 Config
/Makefile.OpenBSD-4-3 Config
/config.OpenBSD-4-3.h \
85 Config
/Makefile.AIX-5-3 Config
/config.AIX-5-3.h \
86 Config
/Makefile.Cygwin-1-5-25 Config
/config.Cygwin-1-5-25.h \
87 Config
/Makefile.MacOSX-10-5 Config
/config.MacOSX-10-5.h
93 gitclean
: distclean docclean
94 rm -f Makefile.bak configure
96 doc
: doc
/socat
.1 doc
/socat.html
99 rm -f doc
/socat
.1 doc
/socat.html
101 doc
/socat
.1: doc
/socat.yo
104 doc
/socat.html
: doc
/socat.yo
105 cd doc
; yodl2html
-o socat.html socat.yo
; cd ..
109 depend
: $(CFILES
) $(HFILES
)
110 makedepend
$(SYSDEFS
) $(CFILES
)
112 socat
: socat.o libxio.a
113 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@ socat.o libxio.a
$(CLIBS
)
115 PROCAN_OBJS
=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysutils.o utils.o
116 procan
: $(PROCAN_OBJS
)
117 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@
$(PROCAN_OBJS
) $(CLIBS
)
119 filan
: filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o
120 $(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$@ filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o
$(CLIBS
)
122 libxio.a
: $(XIOOBJS
) $(UTLOBJS
)
123 $(AR
) r
$@
$(XIOOBJS
) $(UTLOBJS
)
132 install: progs
$(srcdir)/doc
/socat
.1
133 mkdir
-p
$(DESTDIR
)$(BINDEST
)
134 $(INSTALL
) -m
755 socat
$(DESTDIR
)$(BINDEST
)
135 $(INSTALL
) -m
755 procan
$(DESTDIR
)$(BINDEST
)
136 $(INSTALL
) -m
755 filan
$(DESTDIR
)$(BINDEST
)
137 mkdir
-p
$(DESTDIR
)$(MANDEST
)/man1
138 $(INSTALL
) -m
644 $(srcdir)/doc
/socat
.1 $(DESTDIR
)$(MANDEST
)/man1
/
141 rm -f
$(DESTDIR
)$(BINDEST
)/socat
142 rm -f
$(DESTDIR
)$(BINDEST
)/procan
143 rm -f
$(DESTDIR
)$(BINDEST
)/filan
144 rm -f
$(DESTDIR
)$(MANDEST
)/man1
/socat
.1
146 # make a GNU-zipped tar ball of the source files
147 dist: socat.
tar.gz socat.
tar.bz2
149 socat.
tar.gz
: socat.
tar
150 gzip
-9 <socat.
tar >socat.
tar.gz
152 socat.
tar.bz2
: socat.
tar
153 bzip2
-9 <socat.
tar >socat.
tar.bz2
155 VERSION
= `sed 's/"//g' VERSION`
156 TARDIR
= socat-
$(VERSION
)
157 socat.
tar: configure.in configure Makefile.in config.h.in install-sh VERSION
$(CFILES
) $(HFILES
) $(DOCFILES
) $(SHFILES
) $(OSFILES
) $(TESTFILES
) socat.spec
158 if
[ ! -d
$(TARDIR
) ]; then mkdir
$(TARDIR
); fi
159 tar cf
- $+ |
(cd
$(TARDIR
); tar xf
-)
160 tar cvf socat.
tar $(TARDIR
)
161 rm -f
$(TARDIR
)/COPYING
# write protected
165 rm -f
*.o libxio.a socat procan filan \
166 socat.
tar socat.
tar.Z socat.
tar.gz socat.
tar.bz2 \
167 socat.out compile.log
test.log
169 # remove all files that are generated from the original socat distribution
170 # note that Makefile is also removed, so you have to start with ./configure
173 rm -f config.status config.cache config.log config.h Makefile
174 rm -rf autom4te.cache
178 .
/socat
-V
>>socat.out
179 .
/socat
-hh
>>socat.out
181 # perform some tests on socat
186 # prepare critical files with correct permissions to avoid race cond
189 chmod
600 cert.key cert.pem
190 # generate a private key
191 openssl genrsa
-out cert.key
1024
192 # generate a self signed cert
193 openssl req
-new
-key cert.key
-x509
-days
3653 -out cert.crt
195 # generate the pem file
196 cat cert.key cert.crt
>cert.pem
197 #echo use cert.pem on requestors side, i.e. with option cert=cert.pem
198 #echo use cert.crt on checkers side, i.e. with option cafile=cert.crt