summaryrefslogtreecommitdiff
path: root/Makefile.dist
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.dist')
-rw-r--r--Makefile.dist122
1 files changed, 122 insertions, 0 deletions
diff --git a/Makefile.dist b/Makefile.dist
new file mode 100644
index 0000000..99f2795
--- /dev/null
+++ b/Makefile.dist
@@ -0,0 +1,122 @@
+# makefile for netcat, based off same ol' "generic makefile".
+# Usually do "make systype" -- if your systype isn't defined, try "generic"
+# or something else that most closely matches, see where it goes wrong, fix
+# it, and MAIL THE DIFFS back to Hobbit.
+
+### PREDEFINES
+
+# DEFAULTS, possibly overridden by <systype> recursive call:
+# pick gcc if you'd rather , and/or do -g instead of -O if debugging
+# debugging
+# DFLAGS = -DTEST -DDEBUG
+CFLAGS = -O
+XFLAGS = # xtra cflags, set by systype targets
+XLIBS = # xtra libs if necessary?
+# -Bstatic for sunos, -static for gcc, etc. You want this, trust me.
+STATIC =
+CC = cc $(CFLAGS)
+LD = $(CC) -s # linker; defaults to stripped executables
+o = o # object extension
+
+ALL = nc
+
+### BOGON-CATCHERS
+
+bogus:
+ @echo "Usage: make <systype> [options]"
+
+### HARD TARGETS
+
+nc: netcat.c
+ $(LD) $(DFLAGS) $(XFLAGS) $(STATIC) -o nc netcat.c $(XLIBS)
+
+nc-dos:
+ @echo "DOS?! Maybe someday, but not now"
+
+### SYSTYPES -- in the same order as in generic.h, please
+
+# designed for msc and nmake, but easy to change for your compiler.
+# Recursive make may fail if you're short on memory -- u-fix!
+# Note special hard-target and "quotes" instead of 'quotes' ...
+dos:
+ $(MAKE) -e $(ALL)-dos $(MFLAGS) CC="cl /nologo" XLIBS= \
+ XFLAGS="/AS -D__MSDOS__ -DMSDOS" o=obj
+
+ultrix:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DULTRIX'
+
+# you may need XLIBS='-lresolv -l44bsd' if you have BIND 4.9.x
+sunos:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DSUNOS' STATIC=-Bstatic \
+ XLIBS='-lresolv'
+
+# Pick this one ahead of "solaris" if you actually have the nonshared
+# libraries [lib*.a] on your machine. By default, the Sun twits don't ship
+# or install them, forcing you to use shared libs for any network apps.
+# Kludged for gcc, which many regard as the only thing available.
+solaris-static:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DSYSV=4 -D__svr4__ -DSOLARIS' \
+ CC=gcc STATIC=-static XLIBS='-lnsl -lsocket -lresolv'
+
+# the more usual shared-lib version...
+solaris:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DSYSV=4 -D__svr4__ -DSOLARIS' \
+ CC=gcc STATIC= XLIBS='-lnsl -lsocket -lresolv'
+
+aix:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DAIX'
+
+linux:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DLINUX' STATIC=-static
+
+# irix 5.2, dunno 'bout earlier versions. If STATIC='-non_shared' doesn't
+# work for you, null it out and yell at SGI for their STUPID default
+# of apparently not installing /usr/lib/nonshared/*. Sheesh.
+irix:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DIRIX -DSYSV=4 -D__svr4__' \
+ STATIC=-non_shared
+
+osf:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DOSF' STATIC=-non_shared
+
+# virtually the same as netbsd/bsd44lite/whatever
+freebsd:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DFREEBSD' STATIC=-static
+
+bsdi:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DBSDI' STATIC=-Bstatic
+
+netbsd:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DNETBSD' STATIC=-static
+
+# finally got to an hpux box, which turns out to be *really* warped.
+# STATIC here means "linker subprocess gets args '-a archive'" which causes
+# /lib/libc.a to be searched ahead of '-a shared', or /lib/libc.sl.
+hpux:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DHPUX' STATIC="-Wl,-a,archive"
+
+# unixware from bmc@telebase.com; apparently no static because of the
+# same idiotic lack of link libraries
+unixware:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DUNIXWARE -DSYSV=4 -D__svr4__' \
+ STATIC= XLIBS='-L/usr/lib -lnsl -lsocket -lresolv'
+
+# from Declan Rieb at sandia, for a/ux 3.1.1 [also suggests using gcc]:
+aux:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DAUX' STATIC=-static CC=gcc
+
+# Nexstep from mudge: NeXT cc is really old gcc
+next:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DNEXT' STATIC=-Bstatic
+
+# start with this for a new architecture, and see what breaks.
+generic:
+ make -e $(ALL) $(MFLAGS) XFLAGS='-DGENERIC' STATIC=
+
+# Still at large: dgux dynix ???
+
+### RANDOM
+
+clean:
+ rm -f $(ALL) *.o *.obj
+