-
Notifications
You must be signed in to change notification settings - Fork 10
/
makefile
8928 lines (8114 loc) · 381 KB
/
makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# makefile / Makefile / ckuker.mak / CKUKER.MAK
#
# Fri Oct 14 15:56:49 2022
BUILDID=20221014
CKVER= "10.0 Beta.06"
#
# -- Makefile to build C-Kermit for UNIX and UNIX-like platforms --
#
# Copyright (C) 1985, 2022,
# Trustees of Columbia University in the City of New York.
# All rights reserved. See the C-Kermit COPYING.TXT file or the
# copyright text in the ckcmai.c module for disclaimer and permissions.
# In case you can't find the COPYING.TXT file, it contains the
# Simplified 3-Clause BSD License, which is an Open Source license.
#
# Author: Frank da Cruz (principal author)
# Email: fdc@kermitproject.org
# Web: http://www.kermitproject.org
#
# Note: Author is no longer at Columbia University or at the 115th Street
# address as of 1 July 2011. Even so, C-Kermit remains Copyright Columbia
# University because that is where it was first written in 1985 and further
# developed through mid-2011.
#
# Contributions from many others. Special thanks to Jeff Altman for the
# secure-build targets, Peter Eichhorn, assyst GmbH, for the consolidated
# HP-UX targets and the "uninstall" target, to Robert Lipe for the updated
# and consolidated SCO UNIX / ODT / OSR5 targets, to Ric Anderson for the
# IRIX 6.x targets, to Seth Theriault for major improvements to the
# Mac OS X targets, and to Alexey Dokuchaev for FreeBSD 9.0.
#
# C-Kermit is written and produced by hand without any external automated
# procedures such as autoconf / automake / configure, although some of the
# targets below (especially the linux target) inspect the environment and make
# some decisions in the most portable way possible. The automated tools are
# not used because (a) C-Kermit predates them, and (b) they are not portable
# to all the platforms where C-Kermit must be (or once was) built, (c) the
# automated tools are always changing, and (d) to keep C-Kermit as independent
# as possible from external tools over which we have no control.
#
# Most entries use the "xermit" target, which uses the select()-based CONNECT
# module, ckucns.c. The "wermit" target uses the original fork()-based
# CONNECT module, ckucon.c, which has some drawbacks but was portable to every
# Unix variant whether it had TCP/IP or not (select() is part of the TCP/IP
# library, which was not standard on older Unixes). If your target still uses
# the "wermit" target, please try substituting the "xermit" one and if it
# works, let us know (mailto:fdc@columbia.edu). When changing a target over
# from wermit to xermit, also remove -DNOLOEARN.
#
# CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
# word after the "#" comment introducer in the makefile, even if it is
# separated by whitespace. Some versions of "make" understand these as
# directives, which older make versions do not understand. Uppercase letters
# remove the danger, e.g. "# If you have..."
#
# WARNING: This is a huge makefile. Although it is less likely since the
# turn of the century, some "make" programs might run out of memory. If this
# happens to you, edit away the parts that do not apply to your platform and
# try again.
#
# WARNING 2: In many cases this file invokes itself recursively, sometimes
# several levels deep (as in the Linux targets); i.e. some targets are used
# as 'subroutines' of other targets, with parameters passed by setting
# environment variables. For that reason, don't use 'make -e'.
#
# Certain UNIX variations have their own separate makefiles:
# . For Android, use android.mk.
# . For 2.10 or 2.11 BSD on the DEC PDP-11, use ckubs2.mak.
# . For Plan 9, use ckpker.mk.
#
# Separate build procedures are provided non-UNIX platforms: VMS, VOS,
# AOS/VS, etc. See the ckaaaa.txt file or the Kermit website for details.
#
#
# DIRECTIONS FOR UNIX
#
# Rename this file to "makefile" or "Makefile" if necessary. Pick out the
# entry most appropriate for your UNIX version from the list below and then
# give the appropriate "make" command, for example "make aix", "make macosx",
# "make linux". If you experience any difficulties with the build procedure,
# then please also read any comments that accompany the make entry itself
# (search for the make entry name on the left margin).
#
# Other targets:
# 'make install' is an installation script (read accompanying comments!).
# 'make uninstall' undoes 'make install' (read accompanying comments!).
# 'make clean' removes intermediate and object files.
# 'make show' tells the default include and lib paths for secure builds.
#
# IMPORTANT:
# For more detailed installation instructions, read the files ckuins.txt
# and ckccfg.txt, also available at the Kermit website in HTML form:
# http://www.columbia.edu/kermit/ckuins.html
# http://www.columbia.edu/kermit/ckccfg.html
#
# For descriptions of known problems and limitations,
# read the files ckcbwr.txt and ckubwr.txt (the "beware files") or:
# http://www.columbia.edu/kermit/ckcbwr.html
# http://www.columbia.edu/kermit/ckubwr.html
#
# Most targets build C-Kermit with its symbol table included. To reduce the
# size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
# command or to the makefile entry, or 'strip' the executable after
# building. To further reduce the size after building, use 'mcs -d' if your
# Unix version has such a command. For further details on size reduction, read
# ckccfg.txt to find out how to remove features that you don't need.
#
# TCP/IP networking support: If your C-Kermit version does not include TCP/IP
# networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
# of your makefile entry. If that doesn't work, look at some of the other
# targets that include this flag for ideas about what libraries might need to
# be included (typically -lsocket and/or -lBSD and/or -lnsl and/or -linet).
# NOTE: In some cases (old versions of SCO or HP-UX), you might need not only
# a C compiler, but also a "TCP/IP developers kit" for the required object
# libraries and header files.
#
# Please report modifications, failures (preferably with fixes) or successes
# to the author, fdc@columbia.edu.
#
# TARGETS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
#
# + Marks those that have been built successfully for C-Kermit 9.0 or later.
# - Those that once built OK but no longer do (e.g. too big).
# ? Those that worked in a previous version but have not been tested recently.
# --------------------------
# Some commonly used targets:
#
# + "make -f android.mk" (separate makefile) for Android.
# + "make linux" should work for any version of Linux on any hardware.
# Note: new "make linux" (2016) not yet widely tested.
# Use "make linux-2015" (the old "make linux")
# if "make linux" causes problems.
# + "make linux+ssl" ditto, with OpenSSL security added.
# + "make linux+krb5" ditto, with Kerberos 5 security added.
# + "make linux+krb5+ssl" Linux with OpenSSL and Kerberos 5.
# Note: the Linux targets work for Raspberry Pi with Debian 7.0 (Raspbian)
# + "make netbsd", NetBSD, any version.
# + "make netbsd+ssl", NetBSD with OpenSSL 0.9.7 or later.
# + "make netbsd+krb5", NetBSD with Kerberos 5.
# + "make netbsd+krb5+ssl", NetBSD with Kerberos 5 and OpenSSL 0.9.7 or later.
# ? "make freebsd1" for FreeBSD 1.x
# ? "make freebsd2" for FreeBSD 2.x
# + "make freebsd3" for FreeBSD 3.x
# ? "make freebsd4" for FreeBSD 4.0
# + "make freebsd", FreeBSD 4.1 or later.
# + "make freebsd+ssl", FreeBSD 5.0 or later with OpenSSL 0.9.7 or later.
# + "make openbsd", OpenBSD 2.3 or later.
# + "make openbsd+ssl", OpenBSD 2.3 or later with OpenSSL 0.9.7 or later.
# + "make mirbsd", MirBSD.
# + "make mirbsd+ssl", MirBSD with OpenSSL 0.9.7 or later.
# More recent macOS re-branded releases for Intel (x86_64) Sierra (10.12),
# High Sierra (10.13), Mojave (10.14), Catalina (10.15), and Intel x86_64/ARM
# Big Sur (11), Monterey (12)
# + "make macos" (without 'x') should be used for 10.12 and later.
# + "make macosx" should work for any Mac OS X version up until 10.8 or 10.12.
# + "make macosx+krb5+openssl" Mac OS X 10.3.9 or later + Kerberos V + OpenSSL.
# + "make aix" should work for any version of AIX 4.2 or later.
# + "make aixg" should work for any version of AIX 4.2 or later, using gcc.
# + "make aix+ssl" ditto, with OpenSSL (specifying SSLLIB and SSLINC)
# + "make aix+ibmssl" ditto, with IBM OpenSSL
# + "make solaris9", "make solaris10" for Solaris 9 or 10 with Sun cc.
# + "make solaris9g", "make solaris10g" for Solaris 9 or 10 with gcc.
# + "make solaris11" for Solaris 11 with Sun CC
# + "make solaris11g" for Solaris 11 with gcc
# + "make sco_osr600" for SCO OpenServer 6.0.0.
#
# For other current OSs such as Solaris, HP-UX, and SCO there are separate
# targets for different combinations of OS version and compiler; see the
# complete list. For older OS's see the complete list. If an old target
# doesn't work in this release of C-Kermit you can get a previous release from
# the Kermit FTP site: ftp://kermit.columbia.edu/kermit/
#
# SECURE TARGETS (versions that support authentication and encryption)
# are described after the following list. Search for ******* below.
#
# --------------------------
# Complete list (alphabetical):
# ? for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
# or (preferably, if it works) "make bsd44" or "make bsd44c".
# ? for Acorn RISCiX, "make riscix" or "make riscix-gcc"
# ? for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
# ? for Altos 486, 586, 986 with Xenix 3.0, "make altos"
# ? for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
# ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
# ? for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
# ? for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
# ? for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
# ? for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
# (Last tested in C-Kermit 5A(189))
# ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
# ? for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
# ? for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
# ? for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
# ? for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
# ? for Apple PowerMac with MkLinux, "make mklinux" (read Linux entry first)
# ? for Apple PowerMac with LinuxPPC, "make linuxppc"
# ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
# ? for Apple Macintosh with Mac OS X 1.0 (Rhapsody), "make macosx10"
# (no curses), "make macosx10c" (curses), or "make macosx10nc" (ncurses).
# Or "make macosx10ncx" (ncurses but "make macosx10nc" doesn't work).
# ? for Apple Macintosh with Mac OS X 10.2, "make macosx102nc" (ncurses).
# ? for Apple Macintosh with Mac OS X 10.3, "make macosx103"
# ? for Apple Macintosh with Mac OS X 10.3.9 or later, "make macosx"
# ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
# - for AT&T 6300 with IN/ix, "make sys5"
# - for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
# ? for AT&T 6386 WGS UNIX PC, "make sys5r3"
# ? for AT&T 3B2, 3B20 systems, "make att3b2".
# for AT&T 3B1, 7300 UNIX PC (see notes with the entries):
# In C-Kermit 7.0, only the gcc entries work:
# ? "make sys3upcg", "make sys3upcgc", "make att351gm"
# The others fail with "too many defines" (usually in ckuusr.h):
# - "make sys3upc", "make sys3upcold", "make sys3upcc", "make sys3upcx",
# "make sys3upcm", "make att351m"
# ? for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
# ? for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
# ? for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
# ? for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
# ? for AT&T System V/386 R3.2 built on Interactive 4.1.1, "make sys5r32is".
# ? for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
# or "make sys5r3c".
# ? for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
# or if the ANSI C function prototyping makes trouble, add -DNOANSI,
# as in "sys5r4sxna" entry
# ? for AT&T (USL) System V R4.2 use the sys5r4* entries.
# ? for Atari Falcon with MiNT, "make posix"
# ? for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
# ? for BBN C/70 with IOS 2.0, "make c70"
# ? for BeBox with Be OS 1.x DR7, "make beboxdr7"
# Compiles OK but doesn't link with default linker which is limited to 64K.
# Links OK with "Code Warrior Gold". Many hacks in the source code need
# to be removed when DR8 and later come out.
# (Last tested in C-Kermit 6.0)
# - for BeBox with Be OS 1.x DR8, "make bebox"
# (Needed functions missing from operating system and/or not working.)
# - for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
# ? for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
# (last built successfully in C-Kermit 5A188)
# ? for Bell Labs Research UNIX Version 10, "make bellv10"
# (last built successfully in C-Kermit 6.0)
# ? for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
# can be built for Intel, MIPS, 680x0, and PowerPC (last built C-Kermit 7.0)
# ? for BSDI BSD/386 1.x, "make bsdi"
# ? for BSDI BSD/OS 2.x, "make bsdi2"
# ? for BSDI BSD/OS 3.0 or 3.1, "make bsdi3"
# ? for BSDI BSD/OS 4.x, "make bsdi4"
# ? for BSDI BSD/OS 4.x, to build a binary that also works on FreeBSD,
# "make bsdix".
# ? for Berkeley Unix 2.4, "make v7" (but read v7 material below)
# ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
# - for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
# - for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
# This makefile is too big. Read the instructions in ckubs2.mak.
# "make -f ckubs2.mak bsd210" or "make -f ckubs2.mak bsd211".
# (last built successfully in C-Kermit 6.0 - later versions too big)
# ? for Berkeley Unix 2.11 "make -f ckubs2.mak bsd210noicp" (no command parser)
# ? for Berkeley Unix 4.1, "make bsd41"
# ? for Berkeley Unix 4.2 on VAX, "make bsd42" or "make bsd42c"
# ? for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
# ? for Berkeley Unix 4.3 on VAX, "make bsd43", "make bsd43nc".
# ? for Berkeley Unix 4.3 on VAX, no networking "make bsd43nonet.
# ? for Berkeley Unix 4.3 without acucntrl program, "make bsd42" or "bsd42c"
# NOTE: all the C-Kermit 7.0 full builds for old BSDs fail with
# "too many defines" in CPP, even on big architectures like VAX. This
# can be worked around with a clever ruse. See comments at target.
# ? for Berkeley Unix 4.3, command-line only, "make bsdm".
# ? for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
# ? for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
# ? for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
# ? for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
# ? for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
# ? for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
# ? for Bull DPX/2 with BOS/X, "make bulldpx2"
# ? for Cadmus, "make sys3"
# for Caldera, see SCO, Linux.
# ? for Callan Unistar, "make sys3"
# ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
# ? for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
# also other UNOS versions, "make crds"
# ? for CIE Systems 680/20 with Regulus, "make cie"
# ? for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
# ? for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
# ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
# ? for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
# rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
# is stored, see entries below).
# ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
# ? for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
# ? for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
# ? for Concurrent PowerMAX OS SVR4, "make powermax"
# ? for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
# ? for Convergent with CTIX Sys V R2, "make sys5"
# ? for Convergent with CTIX 6.4.1, "make ctix"
# ? for Convex C1, "make convex"
# ? for Convex C210 with Convex/OS 8, "make convex8"
# ? for Convex C2 with Convex/OS 9.1, "make convex9"
# ? for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
# "make cray"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
# "make cray"
# ? for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
# ? for Cray Research X/MP or Y-MP or C90 with UNICOS 9.0, "make cray9"
# ? for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
# ? for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
# ? for Data General AViiON with DG/UX 5.4 before R3.00, "make dgux540"
# or "make dgux540c" (compile ckwart separately if necessary)
# ? for DG/UX 5.4 on AViiON Intel models, "make dgux540i" or dgux540ic.
# ? for DG/UX 5.4R4.11 on AViiON, all models, "make dgux54411"
# ? for DG/UX 5.4R4.20 on AViiON, all models, "make dgux54420"
# ? for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
# ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
# ? for Data General AViiON, earlier UNIX versions,
# "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
# ? for Data General MV systems with DG/UX, ???
# ? for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
# ? for Data General MV systems with AOS/VS, use CKDKER.MAK (last = C-K 7.0)
# ? for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
# ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
# probably no way to fit C-Kermit without I&D space.
# ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
# ? for DEC VAX with Ultrix 1.x "make bsd"
# ? for DEC VAX with Ultrix 2.x "make ultrix2x"
# ? for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
# ? for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
# ? for DECstation or VAX with Ultrix 4.2, "make ultrix42" or "make ultrix42c"
# ? for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
# ? for DECstation or VAX with Ultrix 4.3, "make ultrix43".
# ? for DECstation or VAX with Ultrix 4.4, "make ultrix44".
# ? for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
# "make ultrix43-mips3" or "make ultrix43c-mips3"
# ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
# ? for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
# ? for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
# ? for DEC PC 486 with OSF/1, "make dec-osf"
# ? for DEC Alpha with OSF/1 2.x, "make dec-osf20"
# ? for DEC Alpha with OSF/1 3.0, "make dec-osf30"
# ? for DEC Alpha with Digital UNIX 3.2, "make du32"
# ? for DEC Alpha with Digital UNIX 4.0-4.0D, "make du40" or "make du40gcc"
# ? for DEC Alpha with Digital UNIX 4.0E or higher, see Tru64.
# + for DEC Alpha with any version of DU or OSF/1, "make dec-osf1"
# - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
# ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
# ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
# for DEC PDP-11 with 2.xBSD (use separate makefile ckubs2.mak)
# ? for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
# or "make dellsys5r4c" (last tested in C-Kermit 5A).
# ? for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
# this file does not already exist (or add -DNOFILEH to the make entry).
# ? for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
# "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
# ? for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
# ? for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
# ? for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
# or, to include TCP/IP, "make dnix5r3ansinet",
# but you have to fix a bug in /usr/include/stdlib.h first:
# change "extern void free(char *str);" to "extern void free(void *str);"
# ? for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
# ? for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
# ? for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
# ? for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
# ? for Encore 88K with Umax V 5.2, "make encore88k"
# ? for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
# NOTE: You can also build on Unixware 2.x with "make esixr4", and run
# on ESIX, but there you must first:
# ln /usr/lib/libsocket.so /usr/lib/libsocket.so.1
# ln /usr/lib/libnsl.so /usr/lib/libnsl.so.1
# (This worked for C-Kermit 6.0 but does not work for 7.0)
# (But you can probably still build a non-networking version this way)
# ? for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
# ? for Fortune 32:16, For:Pro 1.8, "make ft18"
# ? for Fortune 32:16, For:Pro 2.1, "make ft21"
# ? for FPS 500 with FPX 4.1, "made bsd"
# ? for FreeBSD 1.0, "make freebsd1"
# ? for FreeBSD 2.x, "make freebsd2" (ncurses) or "make freebsd2c" (curses)
# ? for FreeBSD 3.x, "make freebsd3" (ncurses) or "make freebsd3c" (curses)
# ? for FreeBSD 4.0, "make freebsd40"
# ? for FreeBSD 4.1 or later, "make freebsd"
# + NOTE: Just use "make freebsd" for any reasonably recent FreeBSD version.
# ? for Harris HCX-2900, "make sys5r3"
# ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
# ? for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
# ? for Heurikon, "make sys3"
# ? for HP-3000, MPE/ix, "make posix"?
# ? for HP-9000 Series 300 with 4.4BSD, "make bsd44"
# NOTE: Most of the HP-UX targets were tested successfully in 2010.
# Verification needed for C-Kermit 9.0 Beta.01...
# ? for HP-9000 Series 500, HP-UX 5.21 and no networking "make hpux0500"
# ? for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux0500wintcp"
# ? for HP-9000 Series, HP-UX 6.5, without long filenames,
# "make hpux0650", "make hpux0650c" or "make hpux0650tcpc"
# ? for HP-9000 Series, HP-UX 7.0 or later no long filenames, "make hpux0700sf"
# or (to include tcp/ip, curses, etc) "make hpux0700sftcpc"
# ? for HP-9000 Series with HP-UX 7.0, TCP/IP,long filenames,"make hpux0700lfn"
# ? for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux0800"
# or "make hpux0800c"
# ? for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux0800pa"
# or "make hpux0800pac"
# ? for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
# "make hpux0800notcp"
# ? for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
# (no optimization, no ANSI), all models, "make hpux0900". Read the
# hpux0900 entry below for more info.
# ? for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900o700".
# ? for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900mot".
# ? for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
# HP optimizing ANSI C compiler, "make hpux0900o".
# ? for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
# "make hpux0900gcc"
# ? for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
# curses, restricted compiler (no optimization, no ANSI) "make hpux1000".
# ? for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
# curses, HP ANSI/optimizing compiler "make hpux1000o" or "make hpux1000o+"
# ? for HP-9000 HP-UX 10.00 or later with gcc, "make hpux1000gcc"
# ? for Trusted HP-UX 10.xx "make hpux1000t", "make hpux1000to",
# or make hpux1000to+"
# ? for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
# (no optimization, no ANSI) "make hpux1100".
# ? for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
# HP ANSI/optimizing compiler "make hpux1100o" or "make hpux1100o+"
# ? for Trusted HP-UX 11.xx "make hpux1100t", "make hpux1100to",
# make hpux1100to+"
# ? for HP-9000 PA-RISC models with NeXTSTEP 3.3, "make nextquadfat".
# ? for HP-9000 PA-RISC models with OPENSTEP/Mach 4.1, "make nextquadfat".
# ? for IBM 370 Series with IX/370, "make ix370"
# ? for IBM 370 Series with AIX/370 1.2, "make aix370"
# ? for IBM 370 Series with AIX/370 3.0, "make aix370"
# ? for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
# - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
# command-line-only version, "make coherent" (version 5A & later too big)
# ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
# minimum interactive version, "make coherentmi"
# ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
# full interactive version, prior to v4.2, "make coherentmax"
# ? for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
# "make coherent42"
# ? for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
# ? for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
# - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
# ? for IBM PC family, 386-based, with MINIX/386 1.5, "make minix386"
# or if you have GNU CC, "make minix386gcc"
# ? for IBM PC family, 386-based, with MINIX 2.0, "make minix20"
# ? for IBM PC family, 386-based, with MINIX 3.0, "make minix3"
# + for IBM PC family, 386-based, with MINIX 3.0, "make minix315"
# ? for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" or ps2aixnetc.
# ? for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
# ? for IBM RISC System/6000 with AIX 3.0, "make aix30"
# ? for IBM RISC System/6000 with AIX 3.1.x, "make aix31"
# ? for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5, "make aix32"
# ? for IBM RS/6000 or Power Series with AIX 4.1.x, "make aix41"
# ? for IBM RS/6000 or Power Series with AIX 4.1.x with gcc, "make aix41g"
# ? for IBM RS/6000 or Power Series with AIX 4.1 with X.25, "make aix41x25"
# ? for IBM RS/6000 or Power Series with AIX 4.2 or later: "make aix"
# (the following "make aixnn" targets are no longer necessary except for gcc)
# ? for IBM RS/6000 or Power Series with AIX 4.2, "make aix42"
# ? for IBM RS/6000 or Power Series with AIX 4.3, "make aix43" (or aix43gcc)
# ? for IBM RS/6000 or Power Series with AIX 4.4, "make aix44" (or aix44gcc)
# ? for IBM RS/6000 or Power Series with AIX 4.5, "make aix45" (or aix45gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.0, "make aix50" (or aix50gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.1, "make aix51" (or aix51gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.2, "make aix52" (or aix52gcc)
# ? for IBM RS/6000 or Power Series with AIX 5.3, "make aix53" (or aix53gcc)
# ? for IBM RS/6000 or Power Series with AIX 6.1, "make aix61" (or aix53gcc)
# ? for IBM RT PC with AIX 2.1, "make sys3"
# ? for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
# ? for IBM RT PC with ACIS 4.2, "make bsd"
# ? for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
# ? for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
# ? for ICL DRS400 or 400E, "make iclsys5r3"
# ? for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
# ? for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
# ? for ICL DRS6000 (SPARC) with DRS/NX 4.2MP 7MPlus, "make iclsys5r4m+"
# ? Ditto but with IKSD support included, "make iclsys5r4m+iksd"
# ? for Integrated Solutions Inc V8S VME 68020, "make isi"
# ? for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
# ? for Intel Xenix/286, "make sco286"
# ? for Interactive System III (PC/IX), "make pcix" or "make is3"
# ? for Interactive System III (PC/IX) with gcc, "make is3gcc"
# ? for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
# ? for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
# ? for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
# or "make is5r3net2"
# ? for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
# "make is5r3gcc"
# ? for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
# ? for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
# ? for Intergraph Clipper, "make clix" or "make clixnet"
# ? for Jolix (see 386BSD)
# + for Linux 1.2 and later, "make linux". Uses ncurses. This version
# handles serial speeds up to 460800 bps, Linux FSSTD 1.2, TCP/IP, and
# should work on both libc and glibc systems. For static linking, use
# "make linux LNKFLAGS=-static". Please read the comments that accompany
# the linux entry. As of 8.0.212 Dev.10, this also includes Large File
# Support (LFS).
# + for Linux builds that fail with "sys/select.h: No such file or directory",
# "make linuxns"
# + for Linux 1.2 and later but with curses.h and libcurses (rather than
# ncurses.h and libncurses), use "make linuxc".
# + for Linux 1.2 and later with no curses support at all, "make linuxnc".
# + for Linux with no TCP/IP, "make linuxnotcp"
# (The following Linux targets are historic and might not work...)
# ? for Red Hat Linux 7.1 through RH9, fully configured (krb5, SSL, etc):
# "make redhat71", "make redhat72", "make redhat73", "make redhat80"
# "make redhat9"
# NOTE: You must use this target for Red Hat 7.1 since it
# also includes a workaround for its broken curses library.
# WARNING: These targets create binaries that include code for
# strong encryption and are therefore not exportable. DO NOT PUT
# THESE BINARIES ON US OR CANADIAN WEB OR FTP SITES.
# ? for Linux on PowerMac (Mklinux DR3), "make mklinux".
# ? for Linux 1.2 and later, to build with egcs, "make linuxegcs".
# ? for Linux with lcc compiler, no TCP/IP, "make linuxnotcp-lcc"
# ? for Linux 1.0 or earlier, "make linux10".
# (End old linux targets)
# ? for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
# ? for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
# ? for Masscomp RTU AT&T System III, "make rtu"
# for other Masscomp, see Concurrent.
# ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
# ? for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
# ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
# ? for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
# or "make mipstcpc"
# ? for MkLinux on Power Macintosh, "make mklinux"
# ? for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
# ? for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
# ? for Motorola Four Phase, "make sys3" or "make sys3nid"
# ? for Motorola Delta System V/68 R3, "make sv68r3"
# ? for Motorola Delta System V/68 R3V5, "make sv68r3v5"
# ? for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
# ? for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
# ? for Motorola Delta System V/88 R32, "make sv88r32"
# ? for Motorola Delta System V/88 R40, "make sv88r40"
# ? for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
# ? for NCR Tower 1632, OS 1.02, "make tower1"
# ? for NCR Tower 1632 or Minitower with System V R2, "make sys3"
# or "make sys3nv"
# ? for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
# ? for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
# ? for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
# ? for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
# ? for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
# ? for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
# "make sys5r4net2" or "make sys5r4net2c".
# Some header files might be misplaced; try this:
# ln /usr/include/netinet/in.h /usr/include/sys/in.h
# ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
# ln /usr/include/sys/termiox.h /usr/include/termiox.h
# ? for NCR System 3000, NCR UNIX 02.02.01, same as above.
# ? for NCR MP-RAS System V R4 V2.03 or 3.02, "make mpras" or "make mprastcpc"
# + for NetBSD any version on any architecture, "make netbsd"
# + for NetBSD with OpenSSL, "make netbsd+ssl"
# ? for NetBSD with ncurses specified instead of curses, "make netbsdn"
# ? for NetBSD with all curses support omitted, "make netbsdnc"
# ? for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
# ? for NeXT with NeXTSTEP 3.3, "make next33"
# ? for NeXT with OPENSTEP/Mach 4.1, "make nextquadfat".
# ? for NeXT with OPENSTEP/Mach 4.2, "make openstep42".
# ? for NeXTSTEP/486, "make next" (on a PC)
# ? for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
# ? for NeXTSTEP portable binary (Intel, Motorola, HP PA-RISC, or SPARC),
# "make nextquadfat"
# ? for Nixdorf Targon/31, "make t31tos40x"
# ? for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
# for Novell UnixWare - see UnixWare
# ? for OSF/1 (vanilla, from OS/F), "make posix"
# ? for OkiStation 7300 Series, "make sys5r4sxtcp"
# ? for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
# + for OpenBSD, "make openbsd" (also see secure targets listed below).
# ? for OPENSTEP/Mach 4.1, "make nextquadfat" (NeXT, Intel, PA-RISC, SPARC)
# ? for OPENSTEP/Mach 4.2, "make openstep42" (tested on NeXT)
# ? for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
# ? for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
# ? for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
# ? for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
# ? for Plexus, "make sys3"
# ? for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
# "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
# ? for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
# ? for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
# ? for POSIX on anything, "make posix" (but adjustments might be necessary).
# NOTE: this target is not very useful - many features are missing.
# ? for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
# - for QNX 2.x (sorry we don't have a version of C-Kermit for QNX 2.x)
# ? for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
# ? for QNX 4.21 - 4.22A (286+), and 4.23 (386+), or higher, 16-bit,
# Watcom C 9.5x or higher, "make qnx16"
# + for QNX 4.21-4.25, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
# NOTE: ("make qnx" == "make qnx32")
# ? for QNX Neutrino 2+, "make qnx_nto2+" (crosscompiled on QNX4 with Watcom C)
# ? for QNX 6 = Neutrino 2.xx, "make qnx6"
# ? for Ridge 32 (ROS3.2), "make ridge32"
# ? for Samsung MagicStation, "make sys5r4"
# ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
# ? for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
# NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
# works with "makeL", or if some of the other make entries are edited out.
# ? for SCO Xenix/386 2.2.2, "make sco386"
# ? for SCO Xenix/386 2.3.x, "make sco3r2"
# ? for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
# "make sco386gcc" or (to add curses) "make sco386gccc".
# ? for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
# or (to add curses support) "make sco3r2netc" or "sco386netc"
# + for SCO XENIX 2.3.4, "make sco234" or "make sco234c" to add curses.
# ? for SCO XENIX 2.3.4 with SCO TCP/IP & curses, "make sco234netc".
# ? for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
# for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
# ? for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
# or (to add curses) "make sco3r2laic"
# for SCO UNIX... ALSO READ COMMENTS in the SCO UNIX entries for more info!
# ? for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
# ? for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
# or "make sco3r22c"
# ? for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
# or "make sco3r22netc" (curses)
# ? for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
# ? for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
# ? or "make sco32v4ns" (this one uses no select() or sockets library)
# ? for SCO UNIX/386 3.2 V4.x with TCP/IP, "make sco32v4net"
# (also sco32v4gcc, sco32v4netgcc)
# ? for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
# ? for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
# System (EAFS), curses, ANSI C compilation, "make sco32v4net"
# ? or (to use select()-based CONNECT module) "make sco32v4netx".
# ? for SCO UNIX 3.2v4.2, "make sco-odt30" (includes TCP/IP).
# ? for SCO MPX 3.0 - The SCO UNIX binary runs on the corresponding MPX system.
#
# NOTE: Also see below for other entries that are variations on these.
# Also be sure to read the comments accompanying each SCO entry.
# Also see Unixware section.
#
# ? for SCO ODT 2.0, "make sco32v4net"
# ? for SCO ODT 3.0, "make sco-odt30"
# ? for SCO OpenServer 5.0 (OSR5), "make sco32v500"
# ? for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v500net"
# ? for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v500gcc"
# ? for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v500netgcc"
# ? for SCO OpenServer 5.0 (OSR5), as above, ELF, "make sco32v500netgccelf"
# ? for SCO OpenServer 5.0.2, use "make sco32v502xxx" entries as above.
# ? for SCO OpenServer 5.0.4, use "make sco32v504xxx" entries as above.
# ? for SCO OpenServer 5.0.5, use "make sco32v505xxx" entries as above.
# Use the sco32v505udkxxx entries if you have the UDK rather than /bin/cc.
# ? for SCO OpenServer 5.0.6, use "make sco32v506xxx" entries as above.
# ? for SCO OpenServer 5.0.6a,use "make sco32v506axxx" entries as above.
# ? for SCO OpenServer 5.0.7, use "make sco32v507", "make sco32v507net"
# ? for SCO (Univel) UnixWare 1.x, "make unixware" or "make unixwarenetc".
# If there are problems with this in C-K 7+ see notes at unixware entry.
# + for SCO OpenServer 6.0.0, "make sco_osr600"
# ? for SCO UnixWare 2.0.x, "make uw20"
# ? for SCO UnixWare 2.1.0, "make uw21"
# ? for SCO UnixWare 2.1.3, "make uw213"
# + for SCO UnixWare 7, "make uw7" (includes large file support)
# ? for SCO UnixWare 7 with IKSD support, "make uw7iksd" or "make uw7iksdudk"
# ? for SCO UnixWare 7 with OpenSSL, "make uw7ssl"
# ? for SCO (Caldera) Open UNIX 8, "make ou8"
# ? for Sharp Zaurus SL5500 PDA, "make zsl5500".
# ? for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
# ? for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
# ? for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
# or "dynixptx20c"
# ? for Sequent with DYNIX/ptx 2.1.6 on i486, "dynixptx216c"
# ? for Sequent with DYNIX/ptx V4.1.3 with TCP/IP, "make dynixptx41c"
# ? for Sequent with DYNIX/ptx V4.4.2 with TCP/IP, "make dynixptx44"
# ? for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
# or "make dynix3noacu"
# ? for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
# ? for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
# ? for Siemens/Nixdorf SINIX-L Intel V5.41, "make sinix541i"
# + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
# ? for Siemens/Nixdorf SINIX-P MIPS V5.42 with gcc, "make sinix542g"
# ? for Siemens/Nixdorf SINIX-Z Intel V5.42, "make sinix542i"
# ? for Siemens/Nixdorf Reliant UNIX V5.43, "make sni543"
# ? for Siemens/Nixdorf Reliant UNIX V5.44, "make sni544"
# ? for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
# ? for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
# ? for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
# (to include Yellow Pages and Curses) "make irix40ypc"
# ? for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
# optimization and -O4, "make irix40u" or "irix40uc" (and read notes
# accompanying these entries).
# ? for Silicon Graphics IRIX 5.1, "make irix51" or "irix51x" (no optimize)
# ? for Silicon Graphics IRIX 5.2, "make irix52"
# ? for Silicon Graphics IRIX 5.3, "make irix53" or "irix53x" (no optimize)
# ? for Silicon Graphics IRIX 6.0, "make irix60".
# ? for Silicon Graphics IRIX 6.2, "make irix62".
# ? for Silicon Graphics IRIX 6.3, "make irix63".
# ? for Silicon Graphics IRIX 6.4, "make irix64" or "make irix64gcc".
# + for Silicon Graphics (SGI) IRIX 6.5, "make irix65"
# + or "make irix65mips2" to force MIPS2, or "make irix65gcc" for GCC.
# + for Silicon Graphics (SGI) IRIX 6.5, "make irix65" or "make irix65mips2"
# ? for SGI IRIX 6.5 with SSL/TLS, SRP, and ZLIB "make irix65+ssl+srp+zlib"
# ? for Solaris 2.0-2.3 on SPARC or Intel, SunPro CC, "make solaris2x",
# ? or to add SunLink X.25 8.0x support, "make solaris2x25".
# ? for Solaris 2.4 built with gcc, "make solaris24g".
# ? for Solaris 2.0-2.3 on SPARC or Intel, GNU CC, "make solaris2xg".
# ? for Solaris 2.4 with X.25, "make solaris24x25".
# ? for Solaris 2.5 on SPARC or Intel, SunPro CC, "make solaris25".
# ? or to add SunLink X.25 8.0x support, "make solaris25x25".
# ? for Solaris 2.5 on SPARC or Intel, GNU CC, "make solaris25g".
# ? for Solaris 2.6 on SPARC or Intel, "make solaris26".
# ? for Solaris 7 on SPARC or Intel, SunPro CC, "make solaris7".
# ? for Solaris 7 on SPARC or Intel, GNU CC, "make solaris7g".
# ? for Solaris 8 on SPARC or Intel, SunPro CC, "make solaris8".
# ? for Solaris 8 on SPARC or Intel, GNU CC, "make solaris8g".
# + for Solaris 9 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris9".
# + for Solaris 9 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris9g".
# ? for Solaris 9 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris9g64".
# + for Solaris 10 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris10".
# + for Solaris 10 on SPARC 64-bit, SunPro CC, "make solaris10_64".
# + for Solaris 10 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris10g".
# ? for Solaris 10 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris10g64".
# ? for Solbourne 4/500 with OS/MP 4 "make sunos4"
# ? for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
# ? for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
# ? for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
# ? for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
# ? for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
# ? for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
# ? for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
# For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
# ? for Stardent 1520, "make sys5r3"
# ? for Stratus FTX 2.x, try "make ftx" or else "make sys5r4" or "sys5r4sx"
# ? for Stratus FTX 3.x, PA-RISC 1.0 or 2.0, "make ftx" or "make ftxtcp"
# ? for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
# ? for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
# ? for Sun with SunOS 4.0, BSD environment, "make sunos4"
# ? for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
# ? for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
# or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
# ? for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
# "make sunos41x25" or "make sunos41x25c" (curses)
# ? for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
# ? for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
# NOTE: All SunOS 4.x systems -- Shared libraries are used by default.
# If this causes problems, add -Bstatic to CFLAGS.
# NOTE2: When building C-Kermit under SunOS for the BSD universe,
# but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
# "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
# NOTE3: If an executable built on one type of Sun hardware does not work
# on another type, rebuild the program from source on the target machine.
# for Sun with Solaris 1.x use SunOS 4.1 entries.
# for Sun with Solaris 2.0 and higher use Solaris entries.
# + for Sun SPARC with Linux, "make linux"
# ? for Sun SPARC with OPENSTEP/Mach 4.1, "make nextquadfat"
# ? for Sun SPARC with OPENSTEP/Mach 4.2, "make openstep42"
# - for Tandy 16/6000 with Xenix 3.0, "make trs16" (C-Kermit 7.0 is too big)
# ? for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
# or (for models without hardware flow control), "make uteknohwfc"
# ? for Tektronix XD88 series with UTekV OS, "make utekvr3"
# ? for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
# NOTE: The Tru64 builds have been failing since 2010, but "make dec-osf" is OK
# ? for Tru64 UNIX 4.0E, "make tru64-40e"
# ? for Tru64 UNIX 4.0F, "make tru64-40f"
# ? for Tru64 UNIX 4.0G, "make tru64-40g"
# ? for Tru64 UNIX 5.0A, "make tru64-50a"
# ? for Tru64 UNIX 5.1A, "make tru64-51a"
# ? for Tru64 UNIX 5.1B, "make tru64-51b"
# ? for Unistar, "make sys5"
# ? for Unisys S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
# ? for Unisys U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
# ? for Unisys U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
# for Unisys ... (also see Sperry)
# for Univel - see UnixWare
# for Unixware - see SCO
# ? for Valid Scaldstar, "make valid"
# ? for Whitechapel MG01 Genix 1.3, "make white"
# ? for Zilog ZEUS 3.21, "make zilog"
#
# The result should be a runnable program called "wermit" in the current
# directory. After satisfactory testing, you can rename wermit to "kermit"
# and put it in some directory that's in everybody's PATH, such as
# /usr/local or /opt/local.
#
# To remove intermediate and object files, "make clean".
# If your C compiler produces files with an extension other than "o",
# then "make clean EXT=u", "make clean EXT=s", or whatever.
#
# To run lint on the source files, "make lintsun", "make lintbsd",
# "make lints5", as appropriate.
#
# ******************************
# SECURE TARGETS
#
# Beginning with C-Kermit 7.0, secure targets are included, as are the
# source modules (ckuat*.[ch], ck_*.[ch]) needed to build them. Secure
# target names are like the regular names, but with security features
# indicated by plus (+) signs. The features are:
#
# krb4 MIT Kerberos IV
# krb5 MIT Kerberos V
# openssl OpenSSL (SSL/TLS)
# zlib ZLIB compression for SSL/TLS
# srp Stanford Secure Remote Password
# pam PAM (pluggable authentication module)
# shadow Shadow Password File
#
# You can build these targets if you have the Kermit source files and the
# required libraries (Kerberos, OpenSSL, SRP, etc) and header files. See:
# http://www.columbia.edu/kermit/security.html
# for specific details regarding supported versions.
#
# NOTE: OpenSSL 0.9.6 and earlier are not compatible with 0.9.7 and later.
# C-Kermit code was originally designed for 0.9.6. To build with 0.9.7 you
# must add -DOPENSSL_097 to avoid missing symbols in the DES library and to
# use the entry points that were renamed to avoid conflict with Kerberos 4.
# If you have OpenSSL 0.9.8, add -DOPENSSL_098, which is a synonym for
# -DOPENSSL_097. If you have 1.0.0 or later, add -DOPENSSL_100, which is
# another synonym.
# In OpenSSL builds add -ldl if you get unresolved references for
# dlopen, dlclose, dlsym, and/or dlerror.
#
# In order to build a secure version of Kermit, you need to know the location
# of the header (include) files and libraries for the desired form of
# security. Unless you specify a location, this makefile looks in /usr/local
# and if the required files are not found, the build fails.
#
# If the secure headers and libraries are not on your computer, you have
# to download and install them, for example from http://www.openssl.org .
#
# The following symbols are used to specify library and header file locations.
# prefix statement changed in 10.0 Beta.06 to allow prefix to specified
# from the make command line e.g. $ env PREFIX=/usr/pkg make install.
# October 2022.
#
prefix = $${PREFIX:-/usr/local}
srproot = $(prefix)
sslroot = $(prefix)
manroot = $(prefix)
K4LIB=-L/usr/kerberos/lib
K4INC=-I/usr/kerberos/include
K5LIB=-L/usr/kerberos/lib
K5INC=-I/usr/kerberos/include
SRPLIB=-L$(srproot)/lib
SRPINC=-I$(srproot)/include
SSLLIB=-L$(sslroot)/ssl/lib
SSLINC=-I$(sslroot)/ssl/include
# To override these assignments; for example, if your OpenSSL files are
# not in /usr/local/ssl, invoke the desired target like this:
#
# make solaris9+openssl "SSLINC=-I/opt/openssl-0.9.8k/include" \
# "SSLLIB=-L/opt/openssl-0.9.8k/lib"
#
# (don't set the variables and then do "make -e" because that breaks
# chaining of makefile targets.)
#
# Here are some up-to-date secure targets as of Sep 2009:
#
# aix+openssl: IBM AIX 4.2 or later with OpenSSL
# freebsd44+srp+openssl FreeBSD 4.4 with SRP and OpenSSL
# freebsd50+openssl FreeBSD 5.0 with OpenSSL
# hpux1100o+openssl: HP-UX 11.xx with OpenSSL
# hpux1000gcc+openssl: HP-UX 10.xx with OpenSSL (build with gcc)
# hpux1100gcc+openssl: HP-UX 11.xx with OpenSSL (build with gcc)
# irix6x+krb5: IRIX 6.x with Kerberos V
# irix65+krb5: etc etc...
# solaris9+openssl Solaris 9,10, or 11 with Openssl (Sun cc)
# solaris9g+openssl Solaris 9,10, or 11 with Openssl (gcc)
# linux+ssl OpenSSL only
# linux+krb5+ssl Linux with Kerberos 5 and OpenSSL
# linux+krb5: Kerberos 5 only
#
# The following secure Linux targets have not been updated or tested recently.
# linux+krb5+krb4:
# linux+srp:
# linux+srp+pam:
# linux+srp+gmp:
# linux+srp+gmp+no-des:
# linux+srp+gmp-export:
# linux+srp+gmp+pam:
# linux+shadow+pam:
# linux+openssl:
# linux+openssl+shadow:
# linux+openssl+zlib+shadow+pam:
# linux+srp+openssl:
# linux+krb5+krb4+srp:
# linux+krb5+krb4+srp+openssl:
# linux+krb5+krb4+openssl:
# linux+krb5+krb4+openssl+shadow:
# linux+krb5+krb4+openssl+zlib+shadow:
# linux+krb5+krb4+srp-export:
# linux+krb5+krb4+srp+pam:
# linux+krb5+krb4+srp+openssl+pam-debug:
# linux+krb5+krb4+srp+openssl+pam:
# linux+krb5+krb4+srp+openssl+zlib+pam:
# linux+krb5+krb4+openssl+shadow+pam:
# linux+krb5+openssl+zlib+shadow+pam:
#
# The following have not been tested recently either and might
# need adjustment.
#
# macosx+krb5+ssl: Mac OS X 10.3.9 or later + OpenSSL and Kerberos 5
# macosx103+secure: This one is probably redundant
# netbsd+openssl: NetBSD with OpenSSL
# openbsd30+ssl: OpenBSD 3.0 with OpenSSL
# redhat71,redhat72,redhat73,redhat80,redhat9 (Krb5,OpenSSL,Showdow,PAM,Zlib)
# sco32v500net+ssl:
# sco32v505net+ssl:
# solaris2x+krb4:
# solaris2xg+krb4:
# solaris2xg+openssl+pam+shadow:
# solaris2xg+openssl+zlib+pam+shadow:
# solaris2xg+krb5+krb4+openssl+shadow:
# solaris25+krb4:
# solaris25g+krb4:
# solaris26g+openssl:
# solaris8g+openssl+zlib+pam+shadow:
# solaris8g+krb4:
# solaris9g+openssl+zlib+pam+shadow:
# solaris9g+openssl+shadow+pam+zlib
# sunos41gcc+krb4: SunOS 4.1 built with gcc with Kerberos IV
# sunos41gcc+openssl: SunOS 4.1 built with gcc with OpenSSL
# sunos41gcc+krb4+openssl: ...with Kerberos IV and OpenSSL
# sunos41gcc+krb4+openssl+zlib: ditto, plus ZLIB compression
# sunos41gcc+krb4+srp+openssl+zlib: ditto, plus SRP
# sunos41gcc+srp+openssl+zlib:
# tru64-51b-openssl: Tru64 (Digital) Unix 5.1B with OpenSSL
# uw7ssl Unixware 7 with SSL
#
###########################################################################
#
# Compile and Link variables:
#
# EXT is the extension (file type) for object files, normally o.
# See MINIX entry for what to do if another filetype must be used.
#
EXT=o
#LNKFLAGS=
SHAREDLIB=
CC= cc
CC2= cc
MAKE= make
SHELL=/bin/sh
###########################################################################
# (Ancient) UNIX V7-specific variables.
# These are set up for Perkin-Elmer 3230 V7 Unix:
#
PROC=proc
DIRECT=
NPROC=nproc
NPTYPE=int
BOOTFILE=/edition7
#
# ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
# DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
#
###########################################################################
# SAMPLE INSTALLATION SCRIPT
#
# Modify to suit your own computer's file organization and permissions. If
# you don't have write access to the destination directories, "make install"
# fails. In most cases, a real installation also requires you to chown /
# chgrp the Kermit binary for the UUCP lockfile and/or tty devices, and
# perhaps also to chmod +s the corresponding permission fields.
#
# Default binary, man, and doc directories are supplied below. You can
# override them in your 'make' command. Examples:
#
# make install # Accept defaults.
# make "INFODIR=/usr/share/lib/kermit" install # Override INFODIR default.
#
# You can also build and install in one step, e.g.:
#
# make linux install
#
# If you use the 'install' target to install C-Kermit, it creates an
# UNINSTALL script that can be used to uninstall it.
#
WERMIT = makewhat
BINARY = wermit
DESTDIR =
BINDIR = $(prefix)/bin
MANDIR = $(manroot)/man/man1
MANEXT = 1
SRCDIR =
INFODIR =
CERTDIR =
TEXTFILES = COPYING.TXT ckcbwr.txt ckubwr.txt ckuins.txt ckccfg.txt \
ckcplm.txt ckermit.ini ckermod.ini ckermit70.txt ckermit80.txt
# How many targets?
count:
@grep -c '^[^#[:space:]].*:' makefile
# List all targets
list:
@grep '^[^#[:space:]].*:' makefile | sed 's/:.*$/:/'
# @grep '^[^#[:space:]].*:' makefile
ALL = $(WERMIT)