| # source: Makefile.in |
| # Copyright Gerhard Rieger and contributors (see file CHANGES) |
| # Published under the GNU General Public License V.2, see file COPYING |
| |
| # note: @...@ forms are filled in by configure script |
| |
| SHELL = /bin/sh |
| AR = @AR@ |
| RANLIB = @RANLIB@ |
| |
| .SUFFIXES: .c .o |
| |
| prefix = @prefix@ |
| exec_prefix = @exec_prefix@ |
| |
| BINDEST = @bindir@ |
| |
| datarootdir = @datarootdir@ |
| MANDEST = @mandir@ |
| |
| srcdir = @srcdir@ |
| VPATH = @srcdir@ |
| |
| CC = @CC@ |
| #CCOPT1=-no-pie -fstack-protector |
| #CCOPT=$(CCOPT1) -fcf-protection=none # for gdb on Ubuntu-20.04 |
| CCOPTS = $(CCOPT) |
| |
| SYSDEFS = @SYSDEFS@ |
| CPPFLAGS = -I. @CPPFLAGS@ |
| #0 INCLS = -I. @V_INCL@ |
| DEFS = @DEFS@ |
| LIBS = @LIBS@ |
| LDFLAGS = @LDFLAGS@ |
| |
| INSTALL = @INSTALL@ |
| |
| #OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o) @LIBOBJS@ |
| |
| |
| #0 CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(INCLS) |
| CFLAGS = @CFLAGS@ $(CCOPTS) $(DEFS) $(CPPFLAGS) |
| CLIBS = $(LIBS) |
| #CLIBS = $(LIBS) -lm -lefence |
| XIOSRCS = xioinitialize.c xiohelp.c xioparam.c xiodiag.c xioopen.c xioopts.c \ |
| xiosignal.c xiosigchld.c xioread.c xiowrite.c \ |
| xiolayer.c xioshutdown.c xioclose.c xioexit.c \ |
| xio-process.c xio-fd.c xio-fdnum.c xio-stdio.c xio-pipe.c \ |
| xio-socketpair.c xio-gopen.c xio-creat.c xio-file.c xio-named.c \ |
| xio-socket.c xio-interface.c xio-listen.c xio-unix.c xio-vsock.c \ |
| xio-ip.c xio-ip4.c xio-ip6.c xio-ipapp.c xio-tcp.c \ |
| xio-sctp.c xio-rawip.c xio-posixmq.c \ |
| xio-socks.c xio-socks5.c xio-proxy.c xio-udp.c \ |
| xio-progcall.c xio-exec.c xio-system.c xio-shell.c \ |
| xio-termios.c xio-readline.c \ |
| xio-pty.c xio-openssl.c xio-streams.c xio-namespaces.c \ |
| xio-ascii.c xiolockfile.c xio-tcpwrap.c xio-fs.c xio-tun.c |
| XIOOBJS = $(XIOSRCS:.c=.o) |
| UTLSRCS = error.c dalan.c procan.c procan-cdefs.c hostan.c fdname.c sysutils.c utils.c nestlex.c vsnprintf_r.c snprinterr.c @FILAN@ sycls.c @SSLCLS@ |
| UTLOBJS = $(UTLSRCS:.c=.o) |
| CFILES = $(XIOSRCS) $(UTLSRCS) socat.c procan_main.c filan_main.c |
| OFILES = $(CFILES:.c=.o) |
| PROGS = socat procan filan |
| |
| 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 vsnprintf_r.h snprinterr.h compat.h \ |
| xioconfig.h mytypes.h xioopts.h xiodiag.h xiohelp.h xiosysincludes.h \ |
| xiomodes.h xiolayer.h xio-process.h xio-fd.h xio-fdnum.h xio-stdio.h \ |
| xio-named.h xio-file.h xio-creat.h xio-gopen.h xio-pipe.h \ |
| xio-socketpair.h xio-socket.h xio-interface.h xio-listen.h xio-unix.h xio-vsock.h \ |
| xio-ip.h xio-ip4.h xio-ip6.h xio-rawip.h xio-posixmq.h \ |
| xio-ipapp.h xio-tcp.h xio-udp.h xio-sctp.h \ |
| xio-socks.h xio-socks5.h xio-proxy.h xio-progcall.h xio-exec.h \ |
| xio-system.h xio-shell.h xio-termios.h xio-readline.h \ |
| xio-pty.h xio-openssl.h xio-streams.h xio-namespaces.h \ |
| xio-ascii.h xiolockfile.h xio-tcpwrap.h xio-fs.h xio-tun.h |
| |
| |
| DOCFILES = README README.FIPS CHANGES FILES EXAMPLES PORTING SECURITY DEVELOPMENT doc/socat.yo doc/socat.1 doc/socat.html 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 |
| SHFILES = daemon.sh mail.sh ftp.sh readline.sh \ |
| socat_buildscript_for_android.sh |
| TESTFILES = test.sh socks4echo.sh proxyecho.sh readline-test.sh \ |
| proxy.sh socks4a-echo.sh |
| |
| all: progs doc |
| |
| scmclean: gitclean |
| |
| gitclean: distclean docclean |
| rm -f Makefile.bak configure |
| |
| doc: doc/socat.1 doc/socat.html |
| |
| docclean: |
| rm -f doc/socat.1 doc/socat.html |
| |
| doc/socat.1: doc/socat.yo |
| -mkdir -p $(@D); yodl2man -o $@ $+ |
| |
| doc/socat.html: doc/socat.yo |
| # care for refs in html |
| -mkdir -p $(@D); cd $(@D); yodl2html -o socat.html ../$+; cd .. |
| |
| progs: $(PROGS) |
| |
| depend: $(CFILES) $(HFILES) |
| makedepend $(SYSDEFS) $(CFILES) |
| |
| socat: socat.o libxio.a |
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ socat.o libxio.a $(CLIBS) |
| |
| PROCAN_OBJS=procan_main.o procan.o procan-cdefs.o hostan.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o |
| procan: $(PROCAN_OBJS) |
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROCAN_OBJS) $(CLIBS) |
| |
| FILAN_OBJS=filan_main.o filan.o fdname.o error.o sycls.o sysutils.o utils.o vsnprintf_r.o snprinterr.o |
| filan: $(FILAN_OBJS) |
| $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(FILAN_OBJS) $(CLIBS) |
| |
| libxio.a: $(XIOOBJS) $(UTLOBJS) |
| $(AR) r $@ $(XIOOBJS) $(UTLOBJS) |
| $(RANLIB) $@ |
| |
| |
| strip: progs |
| strip $(PROGS) |
| |
| install: progs $(srcdir)/doc/socat.1 |
| mkdir -p $(DESTDIR)$(BINDEST) |
| $(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST)/socat1 |
| ln -s socat1 $(DESTDIR)$(BINDEST)/socat |
| $(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST) |
| $(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST) |
| mkdir -p $(DESTDIR)$(MANDEST)/man1 |
| $(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/socat1.1 |
| ln -s socat1.1 $(DESTDIR)$(MANDEST)/man1/socat.1 |
| |
| uninstall: |
| rm -f $(DESTDIR)$(BINDEST)/socat |
| rm -f $(DESTDIR)$(BINDEST)/socat1 |
| rm -f $(DESTDIR)$(BINDEST)/procan |
| rm -f $(DESTDIR)$(BINDEST)/filan |
| rm -f $(DESTDIR)$(MANDEST)/man1/socat.1 |
| rm -f $(DESTDIR)$(MANDEST)/man1/socat1.1 |
| |
| # make a GNU-zipped tar ball of the source files |
| dist: socat.tar.gz socat.tar.bz2 |
| |
| socat.tar.gz: socat.tar |
| gzip -9 <socat.tar >socat.tar.gz |
| |
| socat.tar.bz2: socat.tar |
| bzip2 -9 <socat.tar >socat.tar.bz2 |
| |
| VERSION = `sed 's/"//g' VERSION` |
| TARDIR = socat-$(VERSION) |
| socat.tar: configure.in configure Makefile.in config.h.in install-sh VERSION $(CFILES) $(HFILES) $(DOCFILES) $(SHFILES) $(TESTFILES) socat.spec \ |
| configure.ac |
| if [ ! -d $(TARDIR) ]; then mkdir $(TARDIR); fi |
| tar cf - $+ |(cd $(TARDIR); tar xf -) |
| tar cvf socat.tar $(TARDIR) |
| rm -f $(TARDIR)/COPYING # write protected |
| rm -r $(TARDIR) |
| |
| clean: |
| rm -f *.o libxio.a socat procan filan \ |
| socat.tar socat.tar.Z socat.tar.gz socat.tar.bz2 \ |
| socat.out compile.log test.log |
| |
| # remove all files that are generated from the original socat distribution |
| # note that Makefile is also removed, so you have to start with ./configure |
| # again |
| distclean: clean |
| rm -f config.status config.cache config.log config.h Makefile |
| rm -rf autom4te.cache |
| |
| info: socat |
| uname -a >socat.out |
| ./socat -V >>socat.out |
| ./socat -hh >>socat.out |
| |
| # perform some tests on socat |
| test: progs |
| ./test.sh |
| |
| cert: |
| # prepare critical files with correct permissions to avoid race cond |
| >cert.key |
| >cert.pem |
| chmod 600 cert.key cert.pem |
| # generate a private key |
| openssl genrsa -out cert.key 1024 |
| # generate a self signed cert |
| openssl req -new -key cert.key -x509 -days 3653 -out cert.crt |
| # ...enter fields |
| # generate the pem file |
| cat cert.key cert.crt >cert.pem |
| #echo use cert.pem on requestors side, i.e. with option cert=cert.pem |
| #echo use cert.crt on checkers side, i.e. with option cafile=cert.crt |