makefile 374 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744
  1. # makefile / Makefile / ckuker.mak / CKUKER.MAK
  2. #
  3. # Sat Sep 19 11:01:20 2020
  4. BUILDID=20200918
  5. CKVER= "9.0.305" # Alpha.02
  6. #
  7. # -- Makefile to build C-Kermit for UNIX and UNIX-like platforms --
  8. #
  9. # Copyright (C) 1985, 2020,
  10. # Trustees of Columbia University in the City of New York.
  11. # All rights reserved. See the C-Kermit COPYING.TXT file or the
  12. # copyright text in the ckcmai.c module for disclaimer and permissions.
  13. # In case you can't find the COPYING.TXT file, it contains the
  14. # Simplified 3-Clause BSD License, which is an Open Source license.
  15. #
  16. # Author: Frank da Cruz (principal author)
  17. # Email: fdc@kermitproject.org
  18. # Web: http://www.kermitproject.org
  19. # FTP: ftp://ftp.kermitproject.org
  20. #
  21. # Note: Author is no longer at Columbia University or at the 115th Street
  22. # address effective 1 July 2011. Even so, C-Kermit remains Copyright
  23. # Columbia U because that is where it was first written in 1985 and further
  24. # developed through mid-2011.
  25. #
  26. # Contributions from many others. Special thanks to Jeff Altman for the
  27. # secure-build targets, Peter Eichhorn, assyst GmbH, for the consolidated
  28. # HP-UX targets and the "uninstall" target, to Robert Lipe for the updated
  29. # and consolidated SCO UNIX / ODT / OSR5 targets, to Ric Anderson for the
  30. # IRIX 6.x targets, to Seth Theriault for major improvements to the
  31. # Mac OS X targets, and to Alexey Dokuchaev for FreeBSD 9.0.
  32. #
  33. # C-Kermit is written and produced by hand without any external automated
  34. # procedures such as autoconf / automake / configure, although some of the
  35. # targets below (especially the linux target) inspect the environment and make
  36. # some decisions in the most portable way possible. The automated tools are
  37. # not used because (a) C-Kermit predates them, and (b) they are not portable
  38. # to all the platforms where C-Kermit must be (or once was) built, and (c) to
  39. # keep C-Kermit as independent as possible from external tools over which we
  40. # have no control.
  41. #
  42. # Most entries use the "xermit" target, which uses the select()-based CONNECT
  43. # module, ckucns.c. The "wermit" target uses the original fork()-based CONNECT
  44. # module, ckucon.c, which has some drawbacks but was portable to every Unix
  45. # variant whether it had TCP/IP or not (select() is part of the TCP/IP
  46. # library, which was not standard on older Unixes). If your target still uses
  47. # the "wermit" target, please try substituting the "xermit" one and if it
  48. # works, let us know (mailto:kermit-support@columbia.edu). When changing a
  49. # target over from wermit to xermit, also remove -DNOLOEARN.
  50. #
  51. # CAREFUL: Don't put the lowercase word "if", "define", or "end" as the first
  52. # word after the "#" comment introducer in the makefile, even if it is
  53. # separated by whitespace. Some versions of "make" understand these as
  54. # directives. Uppercase letters remove the danger, e.g. "# If you have..."
  55. #
  56. # WARNING: This is a huge makefile. Although this is less likely since the
  57. # turn of the century, some "make" programs might run out of memory. If this
  58. # happens to you, edit away the parts that do not apply to your platform and
  59. # try again.
  60. #
  61. # WARNING 2: In many cases this file invokes itself recursively, sometimes
  62. # several levels deep (as in the Linux targets); i.e. some targets are used
  63. # as 'subroutines' of other targets, with parameters passed by setting
  64. # environment variables. For that reason, don't use 'make -e'.
  65. #
  66. # Certain UNIX variations have their own separate makefiles:
  67. # . For Android, use android.mk.
  68. # . For 2.10 or 2.11 BSD on the DEC PDP-11, use ckubs2.mak.
  69. # . For Plan 9, use ckpker.mk.
  70. #
  71. # Separate build procedures are provided non-UNIX platforms: VMS, VOS,
  72. # AOS/VS, etc. See the ckaaaa.txt file or the Kermit website for details.
  73. #
  74. #
  75. # DIRECTIONS FOR UNIX
  76. #
  77. # Rename this file to "makefile" or "Makefile" if necessary. Pick out the
  78. # entry most appropriate for your UNIX version from the list below and then
  79. # give the appropriate "make" command, for example "make aix", "make macosx",
  80. # "make linux". If you experience any difficulties with the build procedure,
  81. # then please also read any comments that accompany the make entry itself
  82. # (search for the make entry name on the left margin).
  83. #
  84. # Other targets:
  85. # 'make install' is an installation script (read accompanying comments!).
  86. # 'make uninstall' undoes 'make install' (read accompanying comments!).
  87. # 'make clean' removes intermediate and object files.
  88. # 'make show' tells the default include and lib paths for secure builds.
  89. #
  90. # IMPORTANT:
  91. # For more detailed installation instructions, read the files ckuins.txt
  92. # and ckccfg.txt, also available at the Kermit website in HTML form:
  93. # http://www.columbia.edu/kermit/ckuins.html
  94. # http://www.columbia.edu/kermit/ckccfg.html
  95. #
  96. # For descriptions of known problems and limitations,
  97. # read the files ckcbwr.txt and ckubwr.txt (the "beware files") or:
  98. # http://www.columbia.edu/kermit/ckcbwr.html
  99. # http://www.columbia.edu/kermit/ckubwr.html
  100. #
  101. # Most targets build C-Kermit with its symbol table included. To reduce the
  102. # size of the executable program, add "LNKFLAGS=-s" to the end of your 'make'
  103. # command or to the makefile entry, or 'strip' the executable after
  104. # building. To further reduce the size after building, use 'mcs -d' if your
  105. # Unix version has such a command. For further details on size reduction, read
  106. # ckccfg.txt to find out how to remove features that you don't need.
  107. #
  108. # TCP/IP networking support: If your C-Kermit version does not include TCP/IP
  109. # networking, but your UNIX system does, try adding -DTCPSOCKET to the CFLAGS
  110. # of your makefile entry. If that doesn't work, look at some of the other
  111. # targets that include this flag for ideas about what libraries might need to
  112. # be included (typically -lsocket and/or -lBSD and/or -lnsl and/or -linet).
  113. # NOTE: In some cases (old versions of SCO or HP-UX), you might need not only
  114. # a C compiler, but also a "TCP/IP developers kit" for the required object
  115. # libraries and header files.
  116. #
  117. # Please report modifications, failures (preferably with fixes) or successes
  118. # to the author, fdc@columbia.edu.
  119. #
  120. # TARGETS FOR DIFFERENT UNIX PLATFORMS AND VERSIONS:
  121. #
  122. # + Marks those that have been built successfully for C-Kermit 9.0 or later.
  123. # - Those that once built OK but no longer do (e.g. too big).
  124. # ? Those that worked in a previous version but have not been tested recently.
  125. # --------------------------
  126. # Some commonly used targets:
  127. #
  128. # + "make -f android.mk" (separate makefile) for Android.
  129. # + "make linux" should work for any version of Linux on any hardware.
  130. # Note: new "make linux" (2016) not yet widely tested.
  131. # Use "make linux-2015" (the old "make linux")
  132. # if "make linux" causes problems.
  133. # + "make linux+ssl" ditto, with OpenSSL security added.
  134. # + "make linux+krb5" ditto, with Kerberos 5 security added.
  135. # + "make linux+krb5+ssl" Linux with OpenSSL and Kerberos 5.
  136. # Note: the Linux targets work for Raspberry Pi with Debian 7.0 (Raspbian)
  137. # + "make netbsd", NetBSD, any version.
  138. # + "make netbsd+ssl", NetBSD with OpenSSL 0.9.7 or later.
  139. # + "make netbsd+krb5", NetBSD with Kerberos 5.
  140. # + "make netbsd+krb5+ssl", NetBSD with Kerberos 5 and OpenSSL 0.9.7 or later.
  141. # ? "make freebsd1" for FreeBSD 1.x
  142. # ? "make freebsd2" for FreeBSD 2.x
  143. # + "make freebsd3" for FreeBSD 3.x
  144. # ? "make freebsd4" for FreeBSD 4.0
  145. # + "make freebsd", FreeBSD 4.1 or later.
  146. # + "make freebsd+ssl", FreeBSD 5.0 or later with OpenSSL 0.9.7 or later.
  147. # + "make openbsd", OpenBSD 2.3 or later.
  148. # + "make openbsd+ssl", OpenBSD 2.3 or later with OpenSSL 0.9.7 or later.
  149. # + "make mirbsd", MirBSD.
  150. # + "make mirbsd+ssl", MirBSD with OpenSSL 0.9.7 or later.
  151. # + "make macosx" should work for any Mac OS X version 10.3.9 or later.
  152. # + "make macosx+krb5+openssl" Mac OS X 10.3.9 or later + Kerberos V + OpenSSL.
  153. # + "make aix" should work for any version of AIX 4.2 or later.
  154. # + "make aixg" should work for any version of AIX 4.2 or later, using gcc.
  155. # + "make aix+ssl" ditto, with OpenSSL (specifying SSLLIB and SSLINC)
  156. # + "make aix+ibmssl" ditto, with IBM OpenSSL
  157. # + "make solaris9", "make solaris10" for Solaris 9 or 10 with Sun cc.
  158. # + "make solaris9g", "make solaris10g" for Solaris 9 or 10 with gcc.
  159. # + "make solaris11" for Solaris 11 with Sun CC
  160. # + "make solaris11g" for Solaris 11 with gcc
  161. # + "make sco_osr600" for SCO OpenServer 6.0.0.
  162. #
  163. # For other current OSs such as Solaris, HP-UX, and SCO there are separate
  164. # targets for different combinations of OS version and compiler; see the
  165. # complete list. For older OS's see the complete list. If an old target
  166. # doesn't work in this release of C-Kermit you can get a previous release from
  167. # the Kermit FTP site: ftp://kermit.columbia.edu/kermit/
  168. #
  169. # SECURE TARGETS (versions that support authentication and encryption)
  170. # are described after the following list. Search for ******* below.
  171. #
  172. # --------------------------
  173. # Complete list (alphabetical):
  174. # ? for 386BSD (Jolix) 0.0, 0.1, "make 386bsd" (see comments in entry),
  175. # or (preferably, if it works) "make bsd44" or "make bsd44c".
  176. # ? for Acorn RISCiX, "make riscix" or "make riscix-gcc"
  177. # ? for Alliant FX/8 with Concentrix 4.1 or later, "make bsdlck"
  178. # ? for Altos 486, 586, 986 with Xenix 3.0, "make altos"
  179. # ? for Altos ACS68000, 8Mhz 68000, UNIX System 3 Rel 2, 512K, "make altos3"
  180. # ? for Amdahl UTS 2.4 on IBM 370 series & compatible mainframes, "make uts24"
  181. # ? for Amdahl UTSV IBM 370 series & compatible mainframes, "make utsv"
  182. # ? for Amdahl UTSV IBM 370 series mainframes with TCP/IP, "make utsvtcp"
  183. # ? for Amdahl mainframes with UNIX System V R 5.2.6b 580, "make sys3"
  184. # ? for Apollo Aegis 9.x, DOMAIN/IX 9.x, "make aegis"
  185. # (Last tested in C-Kermit 5A(189))
  186. # ? for Apollo DOMAIN/IX, if the above fails, try "make apollobsd"
  187. # ? for Apollo with SR10.0 or later, BSD environment, "make sr10-bsd"
  188. # ? for Apollo with SR10.0 or later, System V environment, "make sr10-s5r3"
  189. # ? for Apple Macintosh II with A/UX pre-3.0, "make aux", "auxgcc" or "auxufs"
  190. # ? for Apple Macintosh with A/UX 3.0 and gcc, "make aux3gcc" or aux3gccc
  191. # ? for Apple PowerMac with MkLinux, "make mklinux" (read Linux entry first)
  192. # ? for Apple PowerMac with LinuxPPC, "make linuxppc"
  193. # ? for Apple Macintosh with Minix 1.5.10, "make minix68k" or "make minixc68"
  194. # ? for Apple Macintosh with Mac OS X 1.0 (Rhapsody), "make macosx10"
  195. # (no curses), "make macosx10c" (curses), or "make macosx10nc" (ncurses).
  196. # Or "make macosx10ncx" (ncurses but "make macosx10nc" doesn't work).
  197. # ? for Apple Macintosh with Mac OS X 10.2, "make macosx102nc" (ncurses).
  198. # ? for Apple Macintosh with Mac OS X 10.3, "make macosx103"
  199. # ? for Apple Macintosh with Mac OS X 10.3.9 or later, "make macosx"
  200. # ? for Arix System 90 with AT&T SVR3, "make sys5r3na"
  201. # - for AT&T 6300 with IN/ix, "make sys5"
  202. # - for AT&T 6300 PLUS, "make att6300" or (with no debugging) "make att6300nd"
  203. # ? for AT&T 6386 WGS UNIX PC, "make sys5r3"
  204. # ? for AT&T 3B2, 3B20 systems, "make att3b2".
  205. # for AT&T 3B1, 7300 UNIX PC (see notes with the entries):
  206. # In C-Kermit 7.0, only the gcc entries work:
  207. # ? "make sys3upcg", "make sys3upcgc", "make att351gm"
  208. # The others fail with "too many defines" (usually in ckuusr.h):
  209. # - "make sys3upc", "make sys3upcold", "make sys3upcc", "make sys3upcx",
  210. # "make sys3upcm", "make att351m"
  211. # ? for AT&T System III/System V R2 or earlier, "make sys3" or "make sys3nid"
  212. # ? for AT&T System III/System V with Honey DanBer UUCP, "make sys3hdb"
  213. # ? for AT&T System V on DEC VAX, "make sys3" or "make sys5r3"
  214. # ? for AT&T System V R3, use "make sys5r3" or "make sys5r3c"
  215. # ? for AT&T System V/386 R3.2 built on Interactive 4.1.1, "make sys5r32is".
  216. # ? for AT&T System V/386 R320.0 Versyss Systems, use "make sys5r3"
  217. # or "make sys5r3c".
  218. # ? for AT&T System V R4, "make sys5r4", "make sys5r4sx", or "make sys5r4nx",
  219. # or if the ANSI C function prototyping makes trouble, add -DNOANSI,
  220. # as in "sys5r4sxna" entry
  221. # ? for AT&T (USL) System V R4.2 use the sys5r4* entries.
  222. # ? for Atari Falcon with MiNT, "make posix"
  223. # ? for Atari ST with Minix ST 1.5.10.3, "make minix68k" or "make minixc68"
  224. # ? for BBN C/70 with IOS 2.0, "make c70"
  225. # ? for BeBox with Be OS 1.x DR7, "make beboxdr7"
  226. # Compiles OK but doesn't link with default linker which is limited to 64K.
  227. # Links OK with "Code Warrior Gold". Many hacks in the source code need
  228. # to be removed when DR8 and later come out.
  229. # (Last tested in C-Kermit 6.0)
  230. # - for BeBox with Be OS 1.x DR8, "make bebox"
  231. # (Needed functions missing from operating system and/or not working.)
  232. # - for Bell Labs UNIX Version 6 (6th Edition), there is no makefile entry.
  233. # ? for Bell Labs UNIX Version 7 (7th Edition), "make v7" (but see notes below)
  234. # (last built successfully in C-Kermit 5A188)
  235. # ? for Bell Labs Research UNIX Version 10, "make bellv10"
  236. # (last built successfully in C-Kermit 6.0)
  237. # ? for Bell Labs / Lucent Plan 9, use separate makefile ckpker.mk:
  238. # can be built for Intel, MIPS, 680x0, and PowerPC (last built C-Kermit 7.0)
  239. # ? for BSDI BSD/386 1.x, "make bsdi"
  240. # ? for BSDI BSD/OS 2.x, "make bsdi2"
  241. # ? for BSDI BSD/OS 3.0 or 3.1, "make bsdi3"
  242. # ? for BSDI BSD/OS 4.x, "make bsdi4"
  243. # ? for BSDI BSD/OS 4.x, to build a binary that also works on FreeBSD,
  244. # "make bsdix".
  245. # ? for Berkeley Unix 2.4, "make v7" (but read v7 material below)
  246. # ? for Berkeley Unix 2.9 (DEC PDP-11 or Pro-3xx), "make bsd29"
  247. # - for Berkeley Unix 2.10, use ckubs2.mak (a separate makefile)
  248. # - for Berkeley Unix 2.11, use ckubs2.mak (a separate makefile)
  249. # This makefile is too big. Read the instructions in ckubs2.mak.
  250. # "make -f ckubs2.mak bsd210" or "make -f ckubs2.mak bsd211".
  251. # (last built successfully in C-Kermit 6.0 - later versions too big)
  252. # ? for Berkeley Unix 2.11 "make -f ckubs2.mak bsd210noicp" (no command parser)
  253. # ? for Berkeley Unix 4.1, "make bsd41"
  254. # ? for Berkeley Unix 4.2 on VAX, "make bsd42" or "make bsd42c"
  255. # ? for Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP, "make bsdhdb"
  256. # ? for Berkeley Unix 4.3 on VAX, "make bsd43", "make bsd43nc".
  257. # ? for Berkeley Unix 4.3 on VAX, no networking "make bsd43nonet.
  258. # ? for Berkeley Unix 4.3 without acucntrl program, "make bsd42" or "bsd42c"
  259. # NOTE: all the C-Kermit 7.0 full builds for old BSDs fail with
  260. # "too many defines" in CPP, even on big architectures like VAX. This
  261. # can be worked around with a clever ruse. See comments at target.
  262. # ? for Berkeley Unix 4.3, command-line only, "make bsdm".
  263. # ? for Berkeley Unix 4.3-Tahoe, same as 4.3 BSD
  264. # ? for Berkeley Unix 4.3-Reno, "make bsd43" or "make bsd44" or "make bsd44c"
  265. # ? for Berkeley Unix 4.3-Carson City, "make bsd44" or "make bsd44c"
  266. # ? for Berkeley Unix 4.4-Networking/2 or -Alpha, "make bsd44" or "make bsd44c"
  267. # ? for Berkeley Unix 4.4, "make bsd44" or "make bsd44c"
  268. # ? for Berkeley Unix 4.4-Lite, "make bsd44" or "make bsd44c"
  269. # ? for Bull DPX/2 with BOS/X, "make bulldpx2"
  270. # ? for Cadmus, "make sys3"
  271. # for Caldera, see SCO, Linux.
  272. # ? for Callan Unistar, "make sys3"
  273. # ? for CDC VX/VE 5.2.1 System V emulation, "make vxve"
  274. # ? for Charles River Data Systems Universe 680x0 with UNOS 9.2, maybe
  275. # also other UNOS versions, "make crds"
  276. # ? for CIE Systems 680/20 with Regulus, "make cie"
  277. # ? for Commodore Amiga 3000UX Sys V R4, "make sys5r4sx"
  278. # ? for Commodore Amiga 3000UX Sys V R4 and TCP/IP, "make svr4amiganet"
  279. # ? for Commodore Amiga with Minix 1.5.10, "make minix68k" of "make minixc68"
  280. # ? for Concurrent/Masscomp with RTU 4.0 or later, BSD environment, "make
  281. # rtubsd", "make rtubsd2", "make rtubsd3" (depending on where ndir.h
  282. # is stored, see entries below).
  283. # ? for Concurrent/Masscomp with RTU 4.0 or later, System V R2, "make rtus5"
  284. # ? for Concurrent (Perkin-Elmer) 3200 series, "make sys5".
  285. # ? for Concurrent (Perkin-Elmer) 3200 series with <dirent.h>, "make ccop1"
  286. # ? for Concurrent PowerMAX OS SVR4, "make powermax"
  287. # ? for Consensys UNIX SV/386 R4V3, "make sys5r4sxtcpc" or "make sys5r4sx"
  288. # ? for Convergent with CTIX Sys V R2, "make sys5"
  289. # ? for Convergent with CTIX 6.4.1, "make ctix"
  290. # ? for Convex C1, "make convex"
  291. # ? for Convex C210 with Convex/OS 8, "make convex8"
  292. # ? for Convex C2 with Convex/OS 9.1, "make convex9"
  293. # ? for Convex C2 with Convex/OS 10.1 and gcc 2.x, "make convex10gcc"
  294. # ? for Cray Research X/MP or YMP or C90 with UNICOS 6.x (System V R3),
  295. # "make cray"
  296. # ? for Cray Research X/MP or YMP or C90 with UNICOS 7.x (System V R4),
  297. # "make cray"
  298. # ? for Cray Research X/MP or YMP or C90 with UNICOS 8.0 Alpha, "make cray8"
  299. # ? for Cray Research X/MP or Y-MP or C90 with UNICOS 9.0, "make cray9"
  300. # ? for Cray Computer Cray-2 or Cray3 with CSOS, "make craycsos"
  301. # ? for Cyber 910 (Silicon-Graphics Iris) with Irix 3.3, "irix33"
  302. # ? for Data General AViiON with DG/UX 5.4 before R3.00, "make dgux540"
  303. # or "make dgux540c" (compile ckwart separately if necessary)
  304. # ? for DG/UX 5.4 on AViiON Intel models, "make dgux540i" or dgux540ic.
  305. # ? for DG/UX 5.4R4.11 on AViiON, all models, "make dgux54411"
  306. # ? for DG/UX 5.4R4.20 on AViiON, all models, "make dgux54420"
  307. # ? for Data General AViiON with DG/UX 4.3x using Sys V-isms, "make dgux430"
  308. # ? for Data General AViiON with DG/UX 4.3x using BSD-isms, "make dgux430bsd"
  309. # ? for Data General AViiON, earlier UNIX versions,
  310. # "make sys5r3" (maybe compile ckwart separately, or "touch ckcpro.c")
  311. # ? for Data General MV systems with DG/UX, ???
  312. # ? for Data General MV systems with MV/UX, use AOS/VS C-Kermit (CKDKER.MAK)
  313. # ? for Data General MV systems with AOS/VS, use CKDKER.MAK (last = C-K 7.0)
  314. # ? for DEC PDP-11 with Berkeley UNIX 2.x, see Berkeley UNIX 2.x.
  315. # ? for DEC PDP-11 with Mini-UNIX (Bell 6th Edition for PDP-11 with no MMU),
  316. # probably no way to fit C-Kermit without I&D space.
  317. # ? for DEC PDP-11 with Ultrix-11 3.x, ??? (probably needs overlays)
  318. # ? for DEC VAX with Ultrix 1.x "make bsd"
  319. # ? for DEC VAX with Ultrix 2.x "make ultrix2x"
  320. # ? for DEC VAX or DECstation with Ultrix 3.0, 3.1, "make ultrix3x"
  321. # ? for DECstation or VAX with Ultrix 4.0 or 4.1, "make ultrix40"
  322. # ? for DECstation or VAX with Ultrix 4.2, "make ultrix42" or "make ultrix42c"
  323. # ? for DECstation or VAX with Ultrix 4.x, POSIX world, "make posix"
  324. # ? for DECstation or VAX with Ultrix 4.3, "make ultrix43".
  325. # ? for DECstation or VAX with Ultrix 4.4, "make ultrix44".
  326. # ? for DECstation 5000/50, /150 or /260 (R4x00 MIPS CPU), Ultrix 4.3A or later
  327. # "make ultrix43-mips3" or "make ultrix43c-mips3"
  328. # ? for DECstation (MIPS) with Berkeley Sprite, "make bsd44"?
  329. # ? for DECstation (MIPS) with OSF/1 V1.0 to 1.3, "make dec-osf"
  330. # ? for DEC Alpha with OSF/1 1.0 to 1.3, "make dec-osf"
  331. # ? for DEC PC 486 with OSF/1, "make dec-osf"
  332. # ? for DEC Alpha with OSF/1 2.x, "make dec-osf20"
  333. # ? for DEC Alpha with OSF/1 3.0, "make dec-osf30"
  334. # ? for DEC Alpha with Digital UNIX 3.2, "make du32"
  335. # ? for DEC Alpha with Digital UNIX 4.0-4.0D, "make du40" or "make du40gcc"
  336. # ? for DEC Alpha with Digital UNIX 4.0E or higher, see Tru64.
  337. # + for DEC Alpha with any version of DU or OSF/1, "make dec-osf1"
  338. # - for DEC Pro-350 with Pro/Venix V1.x, "make provx1" (version 5A is too big)
  339. # ? for DEC Pro-380 with Pro/Venix V2.0 (Sys V), "make sys3" or "make sys3nid"
  340. # ? for DEC Pro-380 with 2.9, 2.10, or 2.11 BSD, "make bsd29" or "make bsd210"
  341. # for DEC PDP-11 with 2.xBSD (use separate makefile ckubs2.mak)
  342. # ? for Dell UNIX Issue 2.x (= USL Sys V/386 R4.x + fixes), "make dellsys5r4"
  343. # or "make dellsys5r4c" (last tested in C-Kermit 5A).
  344. # ? for DIAB DS90 with DNIX (any version) create an empty <sys/file.h> if
  345. # this file does not already exist (or add -DNOFILEH to the make entry).
  346. # ? for DIAB DS90 with DNIX 5.2 (Sys V.2) or earlier, "make dnix",
  347. # "make dnixnd", or (to add curses and TCP/IP) "make dnixnetc",
  348. # ? for DIAB DS90 with DNIX 5.3 (Sys V.3), "make dnix5r3"
  349. # ? for DIAB DS90 with DNIX 5.3 (Sys V.3) and TCP/IP, "make dnix5r3net"
  350. # ? for DIAB DS90 with DNIX 5.3 2.2 (Sys V.3), ANSI C, "make dnix5r3ansi"
  351. # or, to include TCP/IP, "make dnix5r3ansinet",
  352. # but you have to fix a bug in /usr/include/stdlib.h first:
  353. # change "extern void free(char *str);" to "extern void free(void *str);"
  354. # ? for Dolphin Server Technology Triton 88/17 with SV/88 R3.2, "make sv88r32"
  355. # ? for Encore Multimax 310, 510 with Umax 4.2, "make umax42"
  356. # ? for Encore Multimax 310, 510 with Umax 4.3, "make umax43"
  357. # ? for Encore Multimax 310, 510 with Umax V 2.2, use Berkeley cc, "make bsd"
  358. # ? for Encore 88K with Umax V 5.2, "make encore88k"
  359. # ? for ESIX System V R4.0.3 or 4.04 with TCP/IP support, "make esixr4"
  360. # NOTE: You can also build on Unixware 2.x with "make esixr4", and run
  361. # on ESIX, but there you must first:
  362. # ln /usr/lib/libsocket.so /usr/lib/libsocket.so.1
  363. # ln /usr/lib/libnsl.so /usr/lib/libnsl.so.1
  364. # (This worked for C-Kermit 6.0 but does not work for 7.0)
  365. # (But you can probably still build a non-networking version this way)
  366. # ? for Everex STEP 386/25 Rev G with ESIX Sys V R3.2D, "make sys5r3"
  367. # ? for Fortune 32:16, For:Pro 1.8, "make ft18"
  368. # ? for Fortune 32:16, For:Pro 2.1, "make ft21"
  369. # ? for FPS 500 with FPX 4.1, "made bsd"
  370. # ? for FreeBSD 1.0, "make freebsd1"
  371. # ? for FreeBSD 2.x, "make freebsd2" (ncurses) or "make freebsd2c" (curses)
  372. # ? for FreeBSD 3.x, "make freebsd3" (ncurses) or "make freebsd3c" (curses)
  373. # ? for FreeBSD 4.0, "make freebsd40"
  374. # ? for FreeBSD 4.1 or later, "make freebsd"
  375. # + NOTE: Just use "make freebsd" for any reasonably recent FreeBSD version.
  376. # ? for Harris HCX-2900, "make sys5r3"
  377. # ? for Harris Night Hawk 88K or 68K with CX/UX pre-6.1, "make sys5r3"
  378. # ? for Harris Night Hawk 88K or 68K with CX/UX 6.1 or later, "make cx_ux"
  379. # ? for Heurikon, "make sys3"
  380. # ? for HP-3000, MPE/ix, "make posix"?
  381. # ? for HP-9000 Series 300 with 4.4BSD, "make bsd44"
  382. # NOTE: Most of the HP-UX targets were tested successfully in 2010.
  383. # Verification needed for C-Kermit 9.0 Beta.01...
  384. # ? for HP-9000 Series 500, HP-UX 5.21 and no networking "make hpux0500"
  385. # ? for HP-9000 Series 500, HP-UX 5.21 with WIN/TCP 1.2 "make hpux0500wintcp"
  386. # ? for HP-9000 Series, HP-UX 6.5, without long filenames,
  387. # "make hpux0650", "make hpux0650c" or "make hpux0650tcpc"
  388. # ? for HP-9000 Series, HP-UX 7.0 or later no long filenames, "make hpux0700sf"
  389. # or (to include tcp/ip, curses, etc) "make hpux0700sftcpc"
  390. # ? for HP-9000 Series with HP-UX 7.0, TCP/IP,long filenames,"make hpux0700lfn"
  391. # ? for HP-9000 300/400 Series (680x0) with HP-UX 8.0, TCP/IP, "make hpux0800"
  392. # or "make hpux0800c"
  393. # ? for HP-9000 700/800 Series (PA-RISC), HP-UX 8.0, TCP/IP, "make hpux0800pa"
  394. # or "make hpux0800pac"
  395. # ? for HP-9000 Series with HP-UX 8.0, no TCP/IP, long filenames,
  396. # "make hpux0800notcp"
  397. # ? for HP-9000 Series, HP-UX 9.0 - 9.10, TCP/IP, curses, restricted compiler
  398. # (no optimization, no ANSI), all models, "make hpux0900". Read the
  399. # hpux0900 entry below for more info.
  400. # ? for HP-9000 700 and 800 Series, HP-UX 9.x, TCP/IP, curses,
  401. # HP optimizing ANSI C compiler, "make hpux0900o700".
  402. # ? for HP-9000 with Motorola CPUs, HP-UX 9.x, TCP/IP, curses,
  403. # HP optimizing ANSI C compiler, "make hpux0900mot".
  404. # ? for HP-9000 on other CPUs, HP-UX 9.x, TCP/IP, curses,
  405. # HP optimizing ANSI C compiler, "make hpux0900o".
  406. # ? for HP-9000 series, HP-UX 9.x, TCP/IP, curses, gcc, all models,
  407. # "make hpux0900gcc"
  408. # ? for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
  409. # curses, restricted compiler (no optimization, no ANSI) "make hpux1000".
  410. # ? for HP-9000 700/800 Series, HP-UX 10.00,10.01,10.10,10.20,10.30, TCP/IP,
  411. # curses, HP ANSI/optimizing compiler "make hpux1000o" or "make hpux1000o+"
  412. # ? for HP-9000 HP-UX 10.00 or later with gcc, "make hpux1000gcc"
  413. # ? for Trusted HP-UX 10.xx "make hpux1000t", "make hpux1000to",
  414. # or make hpux1000to+"
  415. # ? for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
  416. # (no optimization, no ANSI) "make hpux1100".
  417. # ? for HP-9000 700/800 Series, HP-UX 11.00,TCP/IP,curses, restricted compiler
  418. # HP ANSI/optimizing compiler "make hpux1100o" or "make hpux1100o+"
  419. # ? for Trusted HP-UX 11.xx "make hpux1100t", "make hpux1100to",
  420. # make hpux1100to+"
  421. # ? for HP-9000 PA-RISC models with NeXTSTEP 3.3, "make nextquadfat".
  422. # ? for HP-9000 PA-RISC models with OPENSTEP/Mach 4.1, "make nextquadfat".
  423. # ? for IBM 370 Series with IX/370, "make ix370"
  424. # ? for IBM 370 Series with AIX/370 1.2, "make aix370"
  425. # ? for IBM 370 Series with AIX/370 3.0, "make aix370"
  426. # ? for IBM 370 Series with AIX/ESA 2.1, "make aixesa"
  427. # - for IBM PC/AT 286 & compatibles with Mark Williams Coherent OS,
  428. # command-line-only version, "make coherent" (version 5A & later too big)
  429. # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
  430. # minimum interactive version, "make coherentmi"
  431. # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS,
  432. # full interactive version, prior to v4.2, "make coherentmax"
  433. # ? for IBM PC 386 & compatibles with Mark Williams Coherent OS 4.2,
  434. # "make coherent42"
  435. # ? for IBM PC 386 & compatibles with LynxOS 2.0 or 2.1, "make lynx21"
  436. # ? for IBM PC 386 & compatibles with LynxOS 2.2, "make lynx"
  437. # - for IBM PC/AT & compatibles with original MINIX, "make minix" (too big)
  438. # ? for IBM PC family, 386-based, with MINIX/386 1.5, "make minix386"
  439. # or if you have GNU CC, "make minix386gcc"
  440. # ? for IBM PC family, 386-based, with MINIX 2.0, "make minix20"
  441. # ? for IBM PC family, 386-based, with MINIX 3.0, "make minix3"
  442. # + for IBM PC family, 386-based, with MINIX 3.0, "make minix315"
  443. # ? for IBM PS/2 with PS/2 AIX 1.0, 1.1, or 1.2, "make ps2aix" or ps2aixnetc.
  444. # ? for IBM PS/2 with PS/2 AIX 1.3, "make ps2aix3"
  445. # ? for IBM RISC System/6000 with AIX 3.0, "make aix30"
  446. # ? for IBM RISC System/6000 with AIX 3.1.x, "make aix31"
  447. # ? for IBM RISC System/6000 with AIX 3.2.0 thru 3.2.5, "make aix32"
  448. # ? for IBM RS/6000 or Power Series with AIX 4.1.x, "make aix41"
  449. # ? for IBM RS/6000 or Power Series with AIX 4.1.x with gcc, "make aix41g"
  450. # ? for IBM RS/6000 or Power Series with AIX 4.1 with X.25, "make aix41x25"
  451. # ? for IBM RS/6000 or Power Series with AIX 4.2 or later: "make aix"
  452. # (the following "make aixnn" targets are no longer necessary except for gcc)
  453. # ? for IBM RS/6000 or Power Series with AIX 4.2, "make aix42"
  454. # ? for IBM RS/6000 or Power Series with AIX 4.3, "make aix43" (or aix43gcc)
  455. # ? for IBM RS/6000 or Power Series with AIX 4.4, "make aix44" (or aix44gcc)
  456. # ? for IBM RS/6000 or Power Series with AIX 4.5, "make aix45" (or aix45gcc)
  457. # ? for IBM RS/6000 or Power Series with AIX 5.0, "make aix50" (or aix50gcc)
  458. # ? for IBM RS/6000 or Power Series with AIX 5.1, "make aix51" (or aix51gcc)
  459. # ? for IBM RS/6000 or Power Series with AIX 5.2, "make aix52" (or aix52gcc)
  460. # ? for IBM RS/6000 or Power Series with AIX 5.3, "make aix53" (or aix53gcc)
  461. # ? for IBM RS/6000 or Power Series with AIX 6.1, "make aix61" (or aix53gcc)
  462. # ? for IBM RT PC with AIX 2.1, "make sys3"
  463. # ? for IBM RT PC with AIX 2.2.1, "make rtaix" or "make rtaixc"
  464. # ? for IBM RT PC with ACIS 4.2, "make bsd"
  465. # ? for IBM RT PC with ACIS 4.3, "make rtacis" or "make bsd KFLAGS=-DNOANSI"
  466. # ? for IBM RT PC with 4.3BSD/Reno, "make bsd44" or "make bsd44c"
  467. # ? for ICL DRS400 or 400E, "make iclsys5r3"
  468. # ? for ICL DRS3000 (80486) with DRS/NX, "make iclsys5r4_486"
  469. # ? for ICL DRS6000 (SPARC) with DRS/NX, "make iclsys5r4"
  470. # ? for ICL DRS6000 (SPARC) with DRS/NX 4.2MP 7MPlus, "make iclsys5r4m+"
  471. # ? Ditto but with IKSD support included, "make iclsys5r4m+iksd"
  472. # ? for Integrated Solutions Inc V8S VME 68020, "make isi"
  473. # ? for Intel 302 with Bell Tech Sys V/386 R3.2, "make sys5r3"
  474. # ? for Intel Xenix/286, "make sco286"
  475. # ? for Interactive System III (PC/IX), "make pcix" or "make is3"
  476. # ? for Interactive System III (PC/IX) with gcc, "make is3gcc"
  477. # ? for Interactive 386/ix 1.0.6 with TCP/IP networking, "make is5r3net2"
  478. # ? for Interactive 386/ix 2.0.x, "make is5r3" or (POSIX) "make is5r3p"
  479. # ? for Interactive 386/ix 2.0.x with TCP/IP networking, "make is5r3net"
  480. # or "make is5r3net2"
  481. # ? for Interactive 386/ix 2.2.1, job control, curses, no net, gcc,
  482. # "make is5r3gcc"
  483. # ? for Interactive UNIX Sys V R3.2 V2.2 - 4.0 without TCP/IP, "make is5r3jc"
  484. # ? for Interactive UNIX Sys V R3.2 V2.2 - 4.0 with TCP/IP, "make is5r3netjc"
  485. # ? for Intergraph Clipper, "make clix" or "make clixnet"
  486. # ? for Jolix (see 386BSD)
  487. # + for Linux 1.2 and later, "make linux". Uses ncurses. This version
  488. # handles serial speeds up to 460800 bps, Linux FSSTD 1.2, TCP/IP, and
  489. # should work on both libc and glibc systems. For static linking, use
  490. # "make linux LNKFLAGS=-static". Please read the comments that accompany
  491. # the linux entry. As of 8.0.212 Dev.10, this also includes Large File
  492. # Support (LFS).
  493. # + for Linux builds that fail with "sys/select.h: No such file or directory",
  494. # "make linuxns"
  495. # + for Linux 1.2 and later but with curses.h and libcurses (rather than
  496. # ncurses.h and libncurses), use "make linuxc".
  497. # + for Linux 1.2 and later with no curses support at all, "make linuxnc".
  498. # + for Linux with no TCP/IP, "make linuxnotcp"
  499. # (The following Linux targets are historic and might not work...)
  500. # ? for Red Hat Linux 7.1 through RH9, fully configured (krb5, SSL, etc):
  501. # "make redhat71", "make redhat72", "make redhat73", "make redhat80"
  502. # "make redhat9"
  503. # NOTE: You must use this target for Red Hat 7.1 since it
  504. # also includes a workaround for its broken curses library.
  505. # WARNING: These targets create binaries that include code for
  506. # strong encryption and are therefore not exportable. DO NOT PUT
  507. # THESE BINARIES ON US OR CANADIAN WEB OR FTP SITES.
  508. # ? for Linux on PowerMac (Mklinux DR3), "make mklinux".
  509. # ? for Linux 1.2 and later, to build with egcs, "make linuxegcs".
  510. # ? for Linux with lcc compiler, no TCP/IP, "make linuxnotcp-lcc"
  511. # ? for Linux 1.0 or earlier, "make linux10".
  512. # (End old linux targets)
  513. # ? for Mach 2.6 on (anything, e.g. DECstation), "make bsd42" or "make bsd43".
  514. # ? for MachTen (Tenon) 2.1.1.D on (e.g.) Apple Powerbook, "make machten".
  515. # ? for Masscomp RTU AT&T System III, "make rtu"
  516. # for other Masscomp, see Concurrent.
  517. # ? for Microport SV/AT (System V R2), "make mpsysv" (last edit tested: 144)
  518. # ? for Microport SVR4 2.2, 3.1, or 4.1 "make sys5r4sx"
  519. # ? for Microsoft,IBM Xenix (/286, PC/AT, etc), "make xenix" or "make sco286"
  520. # ? for MIPS System with RISC/os (UMIPS) 4.52 = AT&T SVR3, "make mips"
  521. # or "make mipstcpc"
  522. # ? for MkLinux on Power Macintosh, "make mklinux"
  523. # ? for Modcomp 9730, Real/IX, "make sys5r3" (or modify to use gcc = GLS cc)
  524. # ? for Modcomp Realstar 1000 with REAL/IX D.1, "make sv88r32"
  525. # ? for Motorola Four Phase, "make sys3" or "make sys3nid"
  526. # ? for Motorola Delta System V/68 R3, "make sv68r3"
  527. # ? for Motorola Delta System V/68 R3V5, "make sv68r3v5"
  528. # ? for Motorola Delta System V/68 R3V5.1, "make sv68r3v51"
  529. # ? for Motorola Delta System V/68 R3V6 with NSE TCP/IP, "make sv68r3v6"
  530. # ? for Motorola Delta System V/88 R32, "make sv88r32"
  531. # ? for Motorola Delta System V/88 R40, "make sv88r40"
  532. # ? for Mt Xinu Mach386 on 386/486-based PCs, "make bsd43"
  533. # ? for NCR Tower 1632, OS 1.02, "make tower1"
  534. # ? for NCR Tower 1632 or Minitower with System V R2, "make sys3"
  535. # or "make sys3nv"
  536. # ? for NCR Tower 32, OS Release 1.xx.xx, "make tower32-1"
  537. # ? for NCR Tower 32, OS Release 2.xx.xx, "make tower32-2"
  538. # ? for NCR Tower 32, OS Releases based on Sys V R3, "make tower32"
  539. # ? for NCR Tower 32, OS Releases based on Sys V R3 with gcc "make tower32g"
  540. # ? for NCR System 3000, AT&T UNIX System V R4 2.0, "make sys5r4sxna"
  541. # ? for NCR System 3000, AT&T UNIX System V R4 2.0 with Wollongong TCP/IP,
  542. # "make sys5r4net2" or "make sys5r4net2c".
  543. # Some header files might be misplaced; try this:
  544. # ln /usr/include/netinet/in.h /usr/include/sys/in.h
  545. # ln /usr/include/arpa/inet.h /usr/include/sys/inet.h
  546. # ln /usr/include/sys/termiox.h /usr/include/termiox.h
  547. # ? for NCR System 3000, NCR UNIX 02.02.01, same as above.
  548. # ? for NCR MP-RAS System V R4 V2.03 or 3.02, "make mpras" or "make mprastcpc"
  549. # + for NetBSD any version on any architecture, "make netbsd"
  550. # + for NetBSD with OpenSSL, "make netbsd+ssl"
  551. # ? for NetBSD with ncurses specified instead of curses, "make netbsdn"
  552. # ? for NetBSD with all curses support omitted, "make netbsdnc"
  553. # ? for NeXT with NeXTSTEP 1.0 through 3.2, "make next" (on a NeXT)
  554. # ? for NeXT with NeXTSTEP 3.3, "make next33"
  555. # ? for NeXT with OPENSTEP/Mach 4.1, "make nextquadfat".
  556. # ? for NeXT with OPENSTEP/Mach 4.2, "make openstep42".
  557. # ? for NeXTSTEP/486, "make next" (on a PC)
  558. # ? for NeXTSTEP portable binary (runs on Intel or Motorola), "make nextfat"
  559. # ? for NeXTSTEP portable binary (Intel, Motorola, HP PA-RISC, or SPARC),
  560. # "make nextquadfat"
  561. # ? for Nixdorf Targon/31, "make t31tos40x"
  562. # ? for Norsk Data Uniline 88/17 with SV/88 R3.2, "make sv88r32"
  563. # for Novell UnixWare - see UnixWare
  564. # ? for OSF/1 (vanilla, from OS/F), "make posix"
  565. # ? for OkiStation 7300 Series, "make sys5r4sxtcp"
  566. # ? for Olivetti LSX-3020 with X/OS R.2.3, "make xos23" or "make xos23c"
  567. # + for OpenBSD, "make openbsd" (also see secure targets listed below).
  568. # ? for OPENSTEP/Mach 4.1, "make nextquadfat" (NeXT, Intel, PA-RISC, SPARC)
  569. # ? for OPENSTEP/Mach 4.2, "make openstep42" (tested on NeXT)
  570. # ? for Perkin-Elmer (Concurrent) 3200 series, "make sys5".
  571. # ? for Perkin-Elmer (Concurrent) 3200 series with <dirent.h>, "make ccop1"
  572. # ? for Perkin-Elmer/Concurrent 3200 with Xelos R02, "make ccop1"
  573. # ? for PFU Compact A Series SX/A TISP V10/E50 (Japan), "make sxae50"
  574. # ? for Plexus, "make sys3"
  575. # ? for Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1,
  576. # "ucb make pyramid" or for HDB UUCP, "ucb make pyramid-hdb" or:
  577. # ? for Pyramid MIServer S or ES Series, DataCenter/OSx, "make pyrdcosx"
  578. # ? for Pyramid MIS-S MIPS R3000, DataCenter OSx System V R4, "make pyrdcosx"
  579. # ? for POSIX on anything, "make posix" (but adjustments might be necessary).
  580. # NOTE: this target is not very useful - many features are missing.
  581. # ? for Prime 8000 MIPS, SVR3, "make mips" or "make mipstcpc"
  582. # - for QNX 2.x (sorry we don't have a version of C-Kermit for QNX 2.x)
  583. # ? for QNX 4.0 or 4.1, 16-bit, on 286 PC, Watcom C 8.5, "make qnx16_41"
  584. # ? for QNX 4.21 - 4.22A (286+), and 4.23 (386+), or higher, 16-bit,
  585. # Watcom C 9.5x or higher, "make qnx16"
  586. # + for QNX 4.21-4.25, 32-bit, 386 or above, Watcom C 10.6, "make qnx32"
  587. # NOTE: ("make qnx" == "make qnx32")
  588. # ? for QNX Neutrino 2+, "make qnx_nto2+" (crosscompiled on QNX4 with Watcom C)
  589. # ? for QNX 6 = Neutrino 2.xx, "make qnx6"
  590. # ? for Ridge 32 (ROS3.2), "make ridge32"
  591. # ? for Samsung MagicStation, "make sys5r4"
  592. # ? for SCO Xenix 2.2.1 with development system 2.2 on 8086/8 "make sco86"
  593. # ? for SCO Xenix/286 2.2.1 with development system 2.2 on 80286, "make sco286"
  594. # NOTE: reportedly this makefile is too long for SCO Xenix/286 make, but it
  595. # works with "makeL", or if some of the other make entries are edited out.
  596. # ? for SCO Xenix/386 2.2.2, "make sco386"
  597. # ? for SCO Xenix/386 2.3.x, "make sco3r2"
  598. # ? for SCO Xenix/386 SCO 2.3.3 or 2.3.4 with gcc 1.37 or later,
  599. # "make sco386gcc" or (to add curses) "make sco386gccc".
  600. # ? for SCO Xenix/386 or UNIX/386 with Excelan TCP/IP, "make sco3r2net"
  601. # or (to add curses support) "make sco3r2netc" or "sco386netc"
  602. # + for SCO XENIX 2.3.4, "make sco234" or "make sco234c" to add curses.
  603. # ? for SCO XENIX 2.3.4 with SCO TCP/IP & curses, "make sco234netc".
  604. # ? for SCO Xenix 2.3.x with Racal-InterLan TCP/IP, "make sco3r2netri"
  605. # for other UNIX varieties with Racal Interlan TCP/IP, read sco3r2netri entry
  606. # ? for SCO Xenix 2.3.x with SCO (Lachman) TCP/IP, "make sco3r2lai"
  607. # or (to add curses) "make sco3r2laic"
  608. # for SCO UNIX... ALSO READ COMMENTS in the SCO UNIX entries for more info!
  609. # ? for SCO UNIX/386 3.2.0 or 3.2.1, "make sco3r2" or "make sco3r2x"
  610. # ? for SCO UNIX/386 3.2.2, "make sco3r22" or "make sco3r22gcc"
  611. # or "make sco3r22c"
  612. # ? for SCO UNIX/386 3.2.2 with SCO TCP/IP, "make sco3r22net"
  613. # or "make sco3r22netc" (curses)
  614. # ? for SCO ODT 1.1, "make sco3r22net" or "make sco3r22netc" (curses)
  615. # ? for SCO UNIX/386 3.2 V4.x, no network support, "make sco32v4"
  616. # ? or "make sco32v4ns" (this one uses no select() or sockets library)
  617. # ? for SCO UNIX/386 3.2 V4.x with TCP/IP, "make sco32v4net"
  618. # (also sco32v4gcc, sco32v4netgcc)
  619. # ? for SCO UNIX/386 3.2 V5.0 - see SCO OpenServer.
  620. # ? for SCO UNIX 3.2v4.x with TCP/IP, <dirent.h> for Extended Acer File
  621. # System (EAFS), curses, ANSI C compilation, "make sco32v4net"
  622. # ? or (to use select()-based CONNECT module) "make sco32v4netx".
  623. # ? for SCO UNIX 3.2v4.2, "make sco-odt30" (includes TCP/IP).
  624. # ? for SCO MPX 3.0 - The SCO UNIX binary runs on the corresponding MPX system.
  625. #
  626. # NOTE: Also see below for other entries that are variations on these.
  627. # Also be sure to read the comments accompanying each SCO entry.
  628. # Also see Unixware section.
  629. #
  630. # ? for SCO ODT 2.0, "make sco32v4net"
  631. # ? for SCO ODT 3.0, "make sco-odt30"
  632. # ? for SCO OpenServer 5.0 (OSR5), "make sco32v500"
  633. # ? for SCO OpenServer 5.0 (OSR5) with networking, "make sco32v500net"
  634. # ? for SCO OpenServer 5.0 (OSR5), gcc, "make sco32v500gcc"
  635. # ? for SCO OpenServer 5.0 (OSR5), gcc, with networking, "make sco32v500netgcc"
  636. # ? for SCO OpenServer 5.0 (OSR5), as above, ELF, "make sco32v500netgccelf"
  637. # ? for SCO OpenServer 5.0.2, use "make sco32v502xxx" entries as above.
  638. # ? for SCO OpenServer 5.0.4, use "make sco32v504xxx" entries as above.
  639. # ? for SCO OpenServer 5.0.5, use "make sco32v505xxx" entries as above.
  640. # Use the sco32v505udkxxx entries if you have the UDK rather than /bin/cc.
  641. # ? for SCO OpenServer 5.0.6, use "make sco32v506xxx" entries as above.
  642. # ? for SCO OpenServer 5.0.6a,use "make sco32v506axxx" entries as above.
  643. # ? for SCO OpenServer 5.0.7, use "make sco32v507", "make sco32v507net"
  644. # ? for SCO (Univel) UnixWare 1.x, "make unixware" or "make unixwarenetc".
  645. # If there are problems with this in C-K 7+ see notes at unixware entry.
  646. # + for SCO OpenServer 6.0.0, "make sco_osr600"
  647. # ? for SCO UnixWare 2.0.x, "make uw20"
  648. # ? for SCO UnixWare 2.1.0, "make uw21"
  649. # ? for SCO UnixWare 2.1.3, "make uw213"
  650. # + for SCO UnixWare 7, "make uw7" (includes large file support)
  651. # ? for SCO UnixWare 7 with IKSD support, "make uw7iksd" or "make uw7iksdudk"
  652. # ? for SCO UnixWare 7 with OpenSSL, "make uw7ssl"
  653. # ? for SCO (Caldera) Open UNIX 8, "make ou8"
  654. # ? for Sharp Zaurus SL5500 PDA, "make zsl5500".
  655. # ? for Sequent with DYNIX/ptx 1.2.1, "make dynixptx12"
  656. # ? for Sequent with DYNIX/ptx 1.3 or 1.4 with TCP/IP, "make dynixptx13"
  657. # ? for Sequent with DYNIX/ptx 2.0 or 2.1 with TCP/IP, "make dynixptx20"
  658. # or "dynixptx20c"
  659. # ? for Sequent with DYNIX/ptx 2.1.6 on i486, "dynixptx216c"
  660. # ? for Sequent with DYNIX/ptx V4.1.3 with TCP/IP, "make dynixptx41c"
  661. # ? for Sequent with DYNIX/ptx V4.4.2 with TCP/IP, "make dynixptx44"
  662. # ? for Sequent Balance 8000 or B8 with DYNIX 3.0.xx, "make dynix3"
  663. # or "make dynix3noacu"
  664. # ? for Sequent Symmetry S81 with DYNIX 3.0.xx, "make dynix3"
  665. # ? for Sequent DYNIX 3.1.xx, "make dynix31" or "make dynix31c"
  666. # ? for Siemens/Nixdorf SINIX-L Intel V5.41, "make sinix541i"
  667. # + for Siemens/Nixdorf SINIX-N MIPS V5.42, "make sinix542"
  668. # ? for Siemens/Nixdorf SINIX-P MIPS V5.42 with gcc, "make sinix542g"
  669. # ? for Siemens/Nixdorf SINIX-Z Intel V5.42, "make sinix542i"
  670. # ? for Siemens/Nixdorf Reliant UNIX V5.43, "make sni543"
  671. # ? for Siemens/Nixdorf Reliant UNIX V5.44, "make sni544"
  672. # ? for Silicon Graphics Iris System V IRIX 3.2 or earlier, "make iris"
  673. # ? for Silicon Graphics Sys V R3 with IRIX 3.3 or later, "make sys5r3"
  674. # ? for Silicon Graphics Iris Indigo with IRIX 4.0 or 5.0, "make irix40" or
  675. # (to include Yellow Pages and Curses) "make irix40ypc"
  676. # ? for Silicon Graphics Iris Indigo or Elan with IRIX 4.0.x with microcode
  677. # optimization and -O4, "make irix40u" or "irix40uc" (and read notes
  678. # accompanying these entries).
  679. # ? for Silicon Graphics IRIX 5.1, "make irix51" or "irix51x" (no optimize)
  680. # ? for Silicon Graphics IRIX 5.2, "make irix52"
  681. # ? for Silicon Graphics IRIX 5.3, "make irix53" or "irix53x" (no optimize)
  682. # ? for Silicon Graphics IRIX 6.0, "make irix60".
  683. # ? for Silicon Graphics IRIX 6.2, "make irix62".
  684. # ? for Silicon Graphics IRIX 6.3, "make irix63".
  685. # ? for Silicon Graphics IRIX 6.4, "make irix64" or "make irix64gcc".
  686. # + for Silicon Graphics (SGI) IRIX 6.5, "make irix65"
  687. # + or "make irix65mips2" to force MIPS2, or "make irix65gcc" for GCC.
  688. # + for Silicon Graphics (SGI) IRIX 6.5, "make irix65" or "make irix65mips2"
  689. # ? for SGI IRIX 6.5 with SSL/TLS, SRP, and ZLIB "make irix65+ssl+srp+zlib"
  690. # ? for Solaris 2.0-2.3 on SPARC or Intel, SunPro CC, "make solaris2x",
  691. # ? or to add SunLink X.25 8.0x support, "make solaris2x25".
  692. # ? for Solaris 2.4 built with gcc, "make solaris24g".
  693. # ? for Solaris 2.0-2.3 on SPARC or Intel, GNU CC, "make solaris2xg".
  694. # ? for Solaris 2.4 with X.25, "make solaris24x25".
  695. # ? for Solaris 2.5 on SPARC or Intel, SunPro CC, "make solaris25".
  696. # ? or to add SunLink X.25 8.0x support, "make solaris25x25".
  697. # ? for Solaris 2.5 on SPARC or Intel, GNU CC, "make solaris25g".
  698. # ? for Solaris 2.6 on SPARC or Intel, "make solaris26".
  699. # ? for Solaris 7 on SPARC or Intel, SunPro CC, "make solaris7".
  700. # ? for Solaris 7 on SPARC or Intel, GNU CC, "make solaris7g".
  701. # ? for Solaris 8 on SPARC or Intel, SunPro CC, "make solaris8".
  702. # ? for Solaris 8 on SPARC or Intel, GNU CC, "make solaris8g".
  703. # + for Solaris 9 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris9".
  704. # + for Solaris 9 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris9g".
  705. # ? for Solaris 9 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris9g64".
  706. # + for Solaris 10 on SPARC (or Intel?), 32-bit, SunPro CC, "make solaris10".
  707. # + for Solaris 10 on SPARC 64-bit, SunPro CC, "make solaris10_64".
  708. # + for Solaris 10 on SPARC (or Intel?), 32-bit, GNU CC, "make solaris10g".
  709. # ? for Solaris 10 on SPARC (or Intel?), 64-bit, GNU CC, "make solaris10g64".
  710. # ? for Solbourne 4/500 with OS/MP 4 "make sunos4"
  711. # ? for Solbourne 4/500 with OS/MP 4.1 "make sunos41" or "make sunos41c"
  712. # ? for SONY NEWS with NEWS-OS 4.0.1C, "make sonynews"
  713. # ? for SONY NEWS with NEWS-OS 4.1.2C, "make sonynews"
  714. # ? for Sperry/UNISYS 5000/20, UTS V 5.2 3R1, "make sys5"
  715. # ? for Sperry/UNISYS 5000/30/35/50/55, UTS V 5.2 2.01, "make unisys5r2"
  716. # ? for Sperry/UNISYS 5000/80 with System V R3, "make sys5r3"
  717. # ? for Sperry/UNISYS 5000/95 with System V R3, "make sys5r3"
  718. # For UNISYS SVR3 it might be necessary to "make sys5r3 KFLAGS=-UDYNAMIC"
  719. # ? for Stardent 1520, "make sys5r3"
  720. # ? for Stratus FTX 2.x, try "make ftx" or else "make sys5r4" or "sys5r4sx"
  721. # ? for Stratus FTX 3.x, PA-RISC 1.0 or 2.0, "make ftx" or "make ftxtcp"
  722. # ? for Sun with Sun UNIX 3.5 and gcc, "make sunos3gcc"
  723. # ? for Sun with pre-4.0 SunOS versions, "make bsd" (or appropriate variant)
  724. # ? for Sun with SunOS 4.0, BSD environment, "make sunos4"
  725. # ? for Sun with SunOS 4.0, BSD, with SunLink X.25, make sunos4x25
  726. # ? for Sun with SunOS 4.1 or 4.1.1, BSD environment, "make sunos41"
  727. # or "make sunos41c" (curses) or "make sunos41gcc" (compile with gcc)
  728. # ? for Sun with SunOS 4.1.x, BSD, with SunLink X.25 7.00 or earlier,
  729. # "make sunos41x25" or "make sunos41x25c" (curses)
  730. # ? for Sun with SunOS 4.1, 4.1.1, AT&T Sys V R3 environment, "make sunos41s5"
  731. # ? for Sun with SunOS 4.1.2, "make sunos41" or any of its variations.
  732. # NOTE: All SunOS 4.x systems -- Shared libraries are used by default.
  733. # If this causes problems, add -Bstatic to CFLAGS.
  734. # NOTE2: When building C-Kermit under SunOS for the BSD universe,
  735. # but /usr/5bin/cc is ahead of /usr/ucb/cc in your PATH, add
  736. # "CC=/usr/ucb/cc CC2=/usr/ucb/cc" to the make entry.
  737. # NOTE3: If an executable built on one type of Sun hardware does not work
  738. # on another type, rebuild the program from source on the target machine.
  739. # for Sun with Solaris 1.x use SunOS 4.1 entries.
  740. # for Sun with Solaris 2.0 and higher use Solaris entries.
  741. # + for Sun SPARC with Linux, "make linux"
  742. # ? for Sun SPARC with OPENSTEP/Mach 4.1, "make nextquadfat"
  743. # ? for Sun SPARC with OPENSTEP/Mach 4.2, "make openstep42"
  744. # - for Tandy 16/6000 with Xenix 3.0, "make trs16" (C-Kermit 7.0 is too big)
  745. # ? for Tektronix 6130/4132/43xx (e.g.4301) with UTek OS, "make utek"
  746. # or (for models without hardware flow control), "make uteknohwfc"
  747. # ? for Tektronix XD88 series with UTekV OS, "make utekvr3"
  748. # ? for Tri Star Flash Cache with Esix SVR3.2, "make sys5r3"
  749. # NOTE: The Tru64 builds have been failing since 2010, but "make dec-osf" is OK
  750. # ? for Tru64 UNIX 4.0E, "make tru64-40e"
  751. # ? for Tru64 UNIX 4.0F, "make tru64-40f"
  752. # ? for Tru64 UNIX 4.0G, "make tru64-40g"
  753. # ? for Tru64 UNIX 5.0A, "make tru64-50a"
  754. # ? for Tru64 UNIX 5.1A, "make tru64-51a"
  755. # ? for Tru64 UNIX 5.1B, "make tru64-51b"
  756. # ? for Unistar, "make sys5"
  757. # ? for Unisys S/4040 68040 CTIX SVR3.2 6.4.1, "make ctix" or "make sys5r3"
  758. # ? for Unisys U5000 UNIX SVR3 6.x, "make sys5r3" or "make sys5r3c"
  759. # ? for Unisys U6000 UNIX SVR4 1.x, "make sys5r4nx" or "make sys5r4nxnetc"
  760. # for Unisys ... (also see Sperry)
  761. # for Univel - see UnixWare
  762. # for Unixware - see SCO
  763. # ? for Valid Scaldstar, "make valid"
  764. # ? for Whitechapel MG01 Genix 1.3, "make white"
  765. # ? for Zilog ZEUS 3.21, "make zilog"
  766. #
  767. # The result should be a runnable program called "wermit" in the current
  768. # directory. After satisfactory testing, you can rename wermit to "kermit"
  769. # and put it in some directory that's in everybody's PATH, such as
  770. # /usr/local or /opt/local.
  771. #
  772. # To remove intermediate and object files, "make clean".
  773. # If your C compiler produces files with an extension other than "o",
  774. # then "make clean EXT=u", "make clean EXT=s", or whatever.
  775. #
  776. # To run lint on the source files, "make lintsun", "make lintbsd",
  777. # "make lints5", as appropriate.
  778. #
  779. # ******************************
  780. # SECURE TARGETS
  781. #
  782. # Beginning with C-Kermit 7.0, secure targets are included, as are the
  783. # source modules (ckuat*.[ch], ck_*.[ch]) needed to build them. Secure
  784. # target names are like the regular names, but with security features
  785. # indicated by plus (+) signs. The features are:
  786. #
  787. # krb4 MIT Kerberos IV
  788. # krb5 MIT Kerberos V
  789. # openssl OpenSSL (SSL/TLS)
  790. # zlib ZLIB compression for SSL/TLS
  791. # srp Stanford Secure Remote Password
  792. # pam PAM (pluggable authentication module)
  793. # shadow Shadow Password File
  794. #
  795. # You can build these targets if you have the Kermit source files and the
  796. # required libraries (Kerberos, OpenSSL, SRP, etc) and header files. See:
  797. # http://www.columbia.edu/kermit/security.html
  798. # for specific details regarding supported versions.
  799. #
  800. # NOTE: OpenSSL 0.9.6 and earlier are not compatible with 0.9.7 and later.
  801. # C-Kermit code was originally designed for 0.9.6. To build with 0.9.7 you
  802. # must add -DOPENSSL_097 to avoid missing symbols in the DES library and to
  803. # use the entry points that were renamed to avoid conflict with Kerberos 4.
  804. # If you have OpenSSL 0.9.8, add -DOPENSSL_098, which is a synonym for
  805. # -DOPENSSL_097. If you have 1.0.0 or later, add -DOPENSSL_100, which is
  806. # another synonym.
  807. # In OpenSSL builds add -ldl if you get unresolved references for
  808. # dlopen, dlclose, dlsym, and/or dlerror.
  809. #
  810. # In order to build a secure version of Kermit, you need to know the location
  811. # of the header (include) files and libraries for the desired form of
  812. # security. Unless you specify a location, this makefile looks in /usr/local
  813. # and if the required files are not found, the build fails.
  814. #
  815. # If the secure headers and libraries are not on your computer, you have
  816. # to download and install them, for example from http://www.openssl.org .
  817. #
  818. # The following symbols are used to specify library and header file locations:
  819. #
  820. prefix = /usr/local
  821. srproot = $(prefix)
  822. sslroot = $(prefix)
  823. manroot = $(prefix)
  824. K4LIB=-L/usr/kerberos/lib
  825. K4INC=-I/usr/kerberos/include
  826. K5LIB=-L/usr/kerberos/lib
  827. K5INC=-I/usr/kerberos/include
  828. SRPLIB=-L$(srproot)/lib
  829. SRPINC=-I$(srproot)/include
  830. SSLLIB=-L$(sslroot)/ssl/lib
  831. SSLINC=-I$(sslroot)/ssl/include
  832. # To override these assignments; for example, if your OpenSSL files are
  833. # not in /usr/local/ssl, invoke the desired target like this:
  834. #
  835. # make solaris9+openssl "SSLINC=-I/opt/openssl-0.9.8k/include" \
  836. # "SSLLIB=-L/opt/openssl-0.9.8k/lib"
  837. #
  838. # (don't set the variables and then do "make -e" because that breaks
  839. # chaining of makefile targets.)
  840. #
  841. # Here are some up-to-date secure targets as of Sep 2009:
  842. #
  843. # aix+openssl: IBM AIX 4.2 or later with OpenSSL
  844. # freebsd44+srp+openssl FreeBSD 4.4 with SRP and OpenSSL
  845. # freebsd50+openssl FreeBSD 5.0 with OpenSSL
  846. # hpux1100o+openssl: HP-UX 11.xx with OpenSSL
  847. # hpux1000gcc+openssl: HP-UX 10.xx with OpenSSL (build with gcc)
  848. # hpux1100gcc+openssl: HP-UX 11.xx with OpenSSL (build with gcc)
  849. # irix6x+krb5: IRIX 6.x with Kerberos V
  850. # irix65+krb5: etc etc...
  851. # solaris9+openssl Solaris 9,10, or 11 with Openssl (Sun cc)
  852. # solaris9g+openssl Solaris 9,10, or 11 with Openssl (gcc)
  853. # linux+ssl OpenSSL only
  854. # linux+krb5+ssl Linux with Kerberos 5 and OpenSSL
  855. # linux+krb5: Kerberos 5 only
  856. #
  857. # The following secure Linux targets have not been updated or tested recently.
  858. # linux+krb5+krb4:
  859. # linux+srp:
  860. # linux+srp+pam:
  861. # linux+srp+gmp:
  862. # linux+srp+gmp+no-des:
  863. # linux+srp+gmp-export:
  864. # linux+srp+gmp+pam:
  865. # linux+shadow+pam:
  866. # linux+openssl:
  867. # linux+openssl+shadow:
  868. # linux+openssl+zlib+shadow+pam:
  869. # linux+srp+openssl:
  870. # linux+krb5+krb4+srp:
  871. # linux+krb5+krb4+srp+openssl:
  872. # linux+krb5+krb4+openssl:
  873. # linux+krb5+krb4+openssl+shadow:
  874. # linux+krb5+krb4+openssl+zlib+shadow:
  875. # linux+krb5+krb4+srp-export:
  876. # linux+krb5+krb4+srp+pam:
  877. # linux+krb5+krb4+srp+openssl+pam-debug:
  878. # linux+krb5+krb4+srp+openssl+pam:
  879. # linux+krb5+krb4+srp+openssl+zlib+pam:
  880. # linux+krb5+krb4+openssl+shadow+pam:
  881. # linux+krb5+openssl+zlib+shadow+pam:
  882. #
  883. # The following have not been tested recently either and might
  884. # need adjustment.
  885. #
  886. # macosx+krb5+ssl: Mac OS X 10.3.9 or later + OpenSSL and Kerberos 5
  887. # macosx103+secure: This one is probably redundant
  888. # netbsd+openssl: NetBSD with OpenSSL
  889. # openbsd30+ssl: OpenBSD 3.0 with OpenSSL
  890. # redhat71,redhat72,redhat73,redhat80,redhat9 (Krb5,OpenSSL,Showdow,PAM,Zlib)
  891. # sco32v500net+ssl:
  892. # sco32v505net+ssl:
  893. # solaris2x+krb4:
  894. # solaris2xg+krb4:
  895. # solaris2xg+openssl+pam+shadow:
  896. # solaris2xg+openssl+zlib+pam+shadow:
  897. # solaris2xg+krb5+krb4+openssl+shadow:
  898. # solaris25+krb4:
  899. # solaris25g+krb4:
  900. # solaris26g+openssl:
  901. # solaris8g+openssl+zlib+pam+shadow:
  902. # solaris8g+krb4:
  903. # solaris9g+openssl+zlib+pam+shadow:
  904. # solaris9g+openssl+shadow+pam+zlib
  905. # sunos41gcc+krb4: SunOS 4.1 built with gcc with Kerberos IV
  906. # sunos41gcc+openssl: SunOS 4.1 built with gcc with OpenSSL
  907. # sunos41gcc+krb4+openssl: ...with Kerberos IV and OpenSSL
  908. # sunos41gcc+krb4+openssl+zlib: ditto, plus ZLIB compression
  909. # sunos41gcc+krb4+srp+openssl+zlib: ditto, plus SRP
  910. # sunos41gcc+srp+openssl+zlib:
  911. # tru64-51b-openssl: Tru64 (Digital) Unix 5.1B with OpenSSL
  912. # uw7ssl Unixware 7 with SSL
  913. #
  914. ###########################################################################
  915. #
  916. # Compile and Link variables:
  917. #
  918. # EXT is the extension (file type) for object files, normally o.
  919. # See MINIX entry for what to do if another filetype must be used.
  920. #
  921. EXT=o
  922. #LNKFLAGS=
  923. SHAREDLIB=
  924. CC= cc
  925. CC2= cc
  926. MAKE= make
  927. SHELL=/bin/sh
  928. ###########################################################################
  929. # (Ancient) UNIX V7-specific variables.
  930. # These are set up for Perkin-Elmer 3230 V7 Unix:
  931. #
  932. PROC=proc
  933. DIRECT=
  934. NPROC=nproc
  935. NPTYPE=int
  936. BOOTFILE=/edition7
  937. #
  938. # ( For old Tandy TRS-80 Model 16A or 6000 V7-based Xenix, use PROC=_proc,
  939. # DIRECT=-DDIRECT, NPROC=_Nproc, NPTYPE=short, BOOTFILE=/xenix )
  940. #
  941. ###########################################################################
  942. # SAMPLE INSTALLATION SCRIPT
  943. #
  944. # Modify to suit your own computer's file organization and permissions. If
  945. # you don't have write access to the destination directories, "make install"
  946. # fails. In most cases, a real installation also requires you to chown /
  947. # chgrp the Kermit binary for the UUCP lockfile and/or tty devices, and
  948. # perhaps also to chmod +s the corresponding permission fields.
  949. #
  950. # Default binary, man, and doc directories are supplied below. You can
  951. # override them in your 'make' command. Examples:
  952. #
  953. # make install # Accept defaults.
  954. # make "INFODIR=/usr/share/lib/kermit" install # Override INFODIR default.
  955. #
  956. # You can also build and install in one step, e.g.:
  957. #
  958. # make linux install
  959. #
  960. # If you use the 'install' target to install C-Kermit, it creates an
  961. # UNINSTALL script that can be used to uninstall it.
  962. #
  963. WERMIT = makewhat
  964. BINARY = wermit
  965. DESTDIR =
  966. BINDIR = $(prefix)/bin
  967. MANDIR = $(manroot)/man/man1
  968. MANEXT = 1
  969. SRCDIR =
  970. INFODIR =
  971. CERTDIR =
  972. TEXTFILES = COPYING.TXT ckcbwr.txt ckubwr.txt ckuins.txt ckccfg.txt \
  973. ckcplm.txt ckermit.ini ckermod.ini ckermit70.txt ckermit80.txt
  974. ALL = $(WERMIT)
  975. all: $(ALL)
  976. .c.o:
  977. $(CC) $(CFLAGS) -DKTARGET=\"$(KTARGET)\" -c $<
  978. #Clean up intermediate and object files
  979. clean:
  980. @echo 'Removing object files...'
  981. -rm -f ckcmai.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  982. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckcpro.$(EXT) ckcfns.$(EXT) \
  983. ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) \
  984. ckufio.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) ckwart.$(EXT) ckuusx.$(EXT) \
  985. ckuusy.$(EXT) ckcnet.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckusig.$(EXT) \
  986. ckucns.$(EXT) ckcmdb.$(EXT) ckuath.$(EXT) ckctel.$(EXT) ckclib.$(EXT) \
  987. ckcuni.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
  988. ckcpro.c wart wermit xermit kermit a.out
  989. show:
  990. @echo prefix=$(prefix)
  991. @echo srproot=$(srproot)
  992. @echo sslroot=$(sslroot)
  993. @echo manroot=$(manroot)
  994. @echo K4LIB=$(K4LIB)
  995. @echo K4INC=$(K4INC)
  996. @echo K5LIB=$(K5LIB)
  997. @echo K5INC=$(K5INC)
  998. @echo SRPLIB=$(SRPLIB)
  999. @echo SRPINC=$(SRPINC)
  1000. @echo SSLLIB=$(SSLLIB)
  1001. @echo SSLINC=$(SSLINC)
  1002. @exit
  1003. # Install C-Kermit after building -- IMPORTANT: Read the instructions above
  1004. # (SAMPLE INSTALLATION SCRIPT). For SSL/TLS versions, ca_certs.pem file
  1005. # should be installed in the appropriate place for your OpenSSL library, e.g.:
  1006. #
  1007. # cp ca_certs.pem /usr/local/ssl/
  1008. # cp ca_certs.pem /usr/share/ssl/
  1009. #
  1010. # To make sure 'man' notices the new source file and doesn't keep
  1011. # showing the old formatted version, remove the old formatted version,
  1012. # something like this:
  1013. # rm -f $(MANDIR)/../cat$(MANEXT)/kermit.$(MANEXT)
  1014. # or this (which requires CATDIR to be defined):
  1015. # rm -f $(CATDIR)/kermit.$(MANEXT)
  1016. #
  1017. # As of C-Kermit 8.0.205 this target also builds an UNINSTALL script, and
  1018. # so it might be too long for some old Bourne shells, in which case you can
  1019. # use a different shell:
  1020. #
  1021. # make SHELL=ksh install
  1022. # make SHELL=/bin/posix/sh install
  1023. #
  1024. install:
  1025. @echo Installing C-Kermit version $(CKVER)...;\
  1026. rm -f UNINSTALL;\
  1027. exec 3>./UNINSTALL;\
  1028. echo "# C-Kermit UNINSTALL script" >&3;\
  1029. echo "# `date`\n" >&3;\
  1030. echo "CKVER=$(CKVER)" >&3;\
  1031. echo "PrN Uninstalling C-Kermit version $(CKVER)..." >&3;\
  1032. echo DESTDIR=$(DESTDIR);\
  1033. if test -n "$(DESTDIR)"; then\
  1034. if test -d $(DESTDIR); then\
  1035. echo "$(DESTDIR) exists...\n";\
  1036. else\
  1037. echo "Creating $(DESTDIR)...";\
  1038. DESTDIR=`echo $(DESTDIR) | sed 's!/*$$!!'`;\
  1039. mkdir $$DESTDIR || exit 1;\
  1040. fi;\
  1041. chmod 755 $(DESTDIR) || exit 1;\
  1042. fi;\
  1043. echo BINARY=$(BINARY);\
  1044. if test -f $(BINARY); then\
  1045. ls -l $(BINARY);\
  1046. else\
  1047. echo "?$(BINARY) not found";\
  1048. exit 1;\
  1049. fi;\
  1050. if test -z "$(DESTDIR)$(BINDIR)"; then\
  1051. echo "Binary directory not specified";\
  1052. exit 1;\
  1053. fi;\
  1054. if test -d $(DESTDIR)$(BINDIR); then\
  1055. echo "$(DESTDIR)$(BINDIR) exists...";\
  1056. else\
  1057. echo "Creating $(DESTDIR)$(BINDIR)/...";\
  1058. mkdir $(DESTDIR)$(BINDIR) || exit 1;\
  1059. chmod 755 $(DESTDIR)$(BINDIR);\
  1060. fi;\
  1061. rm -f $(DESTDIR)$(BINDIR)/kermit;\
  1062. cp $(BINARY) $(DESTDIR)$(BINDIR)/kermit || exit 1;\
  1063. chmod 755 $(DESTDIR)$(BINDIR)/kermit || exit 1;\
  1064. rm -f $(DESTDIR)$(BINDIR)/kermit-sshsub;\
  1065. ln -s $(DESTDIR)$(BINDIR)/kermit\
  1066. $(DESTDIR)$(BINDIR)/kermit-sshsub || exit 1;\
  1067. echo 'set flag=f\nPrC Removing binaries' >&3;\
  1068. echo "RmF $(DESTDIR)$(BINDIR)/kermit-sshsub" >&3;\
  1069. echo "RmF $(DESTDIR)$(BINDIR)/kermit" >&3;\
  1070. if test -f ckermit.ini; then\
  1071. echo "#!$(BINDIR)/kermit" >\
  1072. $(DESTDIR)$(BINDIR)/_tmp.ini;\
  1073. cat ckermit.ini >> $(DESTDIR)$(BINDIR)/_tmp.ini;\
  1074. mv $(DESTDIR)$(BINDIR)/_tmp.ini\
  1075. $(DESTDIR)$(BINDIR)/ckermit.ini;\
  1076. chmod 755 $(DESTDIR)$(BINDIR)/ckermit.ini;\
  1077. echo "RmF $(DESTDIR)$(BINDIR)/ckermit.ini" >&3;\
  1078. fi;\
  1079. echo;\
  1080. echo 'EfM' >&3;\
  1081. echo "Kermit binary installed:";\
  1082. ls -l $(DESTDIR)$(BINDIR)/kermit\
  1083. $(DESTDIR)$(BINDIR)/kermit-sshsub\
  1084. $(DESTDIR)$(BINDIR)/ckermit.ini;\
  1085. echo;\
  1086. echo " WARNING: If C-Kermit is to be used for dialing out,";\
  1087. echo " you must change its owner and group and permissions";\
  1088. echo " to match the 'cu' program. See the ckuins.txt file";\
  1089. echo " for details.";\
  1090. echo;\
  1091. echo MANDIR=$(MANDIR);\
  1092. if test -n "$(DESTDIR)$(MANDIR)"; then\
  1093. if test -d $(DESTDIR)$(MANDIR); then\
  1094. echo "$(DESTDIR)$(MANDIR) exists...";\
  1095. else\
  1096. echo "Creating $(MANDIR)...";\
  1097. mkdir $(MANDIR) || exit 1;\
  1098. chmod 755 $(MANDIR) || exit 1;\
  1099. fi;\
  1100. rm -f $(DESTDIR)$(MANDIR)/kermit.$(MANEXT);\
  1101. cp ckuker.nr $(DESTDIR)$(MANDIR)/kermit.$(MANEXT) || exit 1;\
  1102. chmod 644 $(DESTDIR)$(MANDIR)/kermit.$(MANEXT) || exit 1;\
  1103. echo 'set flag=f\nPrC Removing man pages' >&3;\
  1104. echo "RmF $(DESTDIR)$(MANDIR)/kermit.$(MANEXT)" >&3;\
  1105. echo 'EfM' >&3;\
  1106. echo;\
  1107. else\
  1108. echo "Not installing man page!\n";\
  1109. fi;\
  1110. echo CERTDIR=$(CERTDIR);\
  1111. if test -n "$(CERTDIR)"; then\
  1112. if test -f ca_certs.pem; then\
  1113. if test -d $(CERTDIR); then\
  1114. echo "$(CERTDIR) exists...";\
  1115. else\
  1116. echo "Creating $(CERTDIR)...";\
  1117. mkdir $(CERTDIR) || exit 1;\
  1118. chmod 755 $(CERTDIR) || exit 1;\
  1119. fi;\
  1120. echo "Installing certificates file...";\
  1121. cp ca_certs.pem $(CERTDIR) || exit 1;\
  1122. echo 'set flag=f' >&3;\
  1123. echo 'PrC Removing certificates file' >&3;\
  1124. echo "RmF $(CERTDIR)/ca_certs.pem" >&3;\
  1125. echo 'EfM' >&3;\
  1126. echo;\
  1127. fi;\
  1128. else\
  1129. echo "Not installing certificates file!\n";\
  1130. fi;\
  1131. echo SRCDIR=$(DESTDIR)$(SRCDIR);\
  1132. if test -n "$(SRCDIR)"; then\
  1133. echo "Installing source files...";\
  1134. if test -d $(DESTDIR)$(SRCDIR); then\
  1135. echo "$(DESTDIR)$(SRCDIR) exists...";\
  1136. else\
  1137. echo "Creating $(DESTDIR)$(SRCDIR)/...";\
  1138. mkdir $(DESTDIR)$(SRCDIR) || exit 1;\
  1139. chmod 755 $(DESTDIR)$(SRCDIR);\
  1140. fi;\
  1141. echo "Copying source files to $(DESTDIR)$(SRCDIR)...";\
  1142. echo 'set flag=f\nPrC Removing source files' >&3;\
  1143. for TextFile in COPYING.TXT ck[cuw_]*.[cwh] makefile; do\
  1144. cp $$TextFile $(DESTDIR)$(SRCDIR)/ && echo ".\c";\
  1145. echo "RmF $(DESTDIR)$(SRCDIR)/$$TextFile" >&3;\
  1146. done; echo;\
  1147. echo 'EfM' >&3;\
  1148. ( cd $(DESTDIR)$(SRCDIR)/ &&\
  1149. ls -l COPYING.TXT ck[cuw_]*.[cwh] makefile );echo;\
  1150. else\
  1151. echo "Not installing source code!\n";\
  1152. fi;\
  1153. echo INFODIR=$(DESTDIR)$(INFODIR);\
  1154. if test -n "$(INFODIR)"; then\
  1155. echo "Installing info files...";\
  1156. if test -d $(DESTDIR)$(INFODIR); then\
  1157. echo "$(DESTDIR)$(INFODIR) exists...";\
  1158. else\
  1159. echo "Creating $(DESTDIR)$(INFODIR)/...";\
  1160. mkdir $(DESTDIR)$(INFODIR) || exit 1;\
  1161. chmod 755 $(DESTDIR)$(INFODIR);\
  1162. fi;\
  1163. echo "Copying text files to $(DESTDIR)$(INFODIR)...";\
  1164. echo 'set flag=f\nPrC Removing text files' >&3;\
  1165. FileCopyList='';\
  1166. for TextFile in $(TEXTFILES); do\
  1167. test -f $$TextFile || continue;\
  1168. cp $$TextFile $(DESTDIR)$(INFODIR) && echo ".\c" &&\
  1169. FileCopyList="$$FileCopyList $$TextFile";\
  1170. echo "RmF $(DESTDIR)$(INFODIR)/$$TextFile" >&3;\
  1171. done; echo;\
  1172. echo 'EfM' >&3;\
  1173. ( cd $(DESTDIR)$(INFODIR)/ && chmod 644 $$FileCopyList );\
  1174. ( cd $(DESTDIR)$(INFODIR)/ && pwd && ls -l $$FileCopyList );\
  1175. else\
  1176. echo "Not installing text files!\n";\
  1177. fi;\
  1178. echo "set flag=d\nPrN Removing empty dirs..." >&3;\
  1179. echo "RmD $(DESTDIR)$(BINDIR)" >&3;\
  1180. echo "RmD $(DESTDIR)$(SRCDIR)" >&3;\
  1181. echo "RmD $(DESTDIR)$(INFODIR)" >&3;\
  1182. echo "RmD $(CERTDIR)" >&3;\
  1183. echo "RmD $(MANDIR)" >&3;\
  1184. echo "RmD $(DESTDIR)" >&3;\
  1185. echo "EfM" >&3;\
  1186. echo "PrN C-Kermit version $(CKVER) is uninstalled!" >&3;\
  1187. echo C-Kermit version $(CKVER) installed!
  1188. # UN-Install C-Kermit after building
  1189. # Please to not remove the extra blanks before and after '{}' within the
  1190. # functions. You would get syntax errors for some older Bourne shells! Best is
  1191. # you don't change or remove anything.
  1192. #
  1193. uninstall:
  1194. @if test ! -f UNINSTALL; then\
  1195. echo "?C-Kermit UNINSTALL data file not found!";\
  1196. exit 1;\
  1197. fi; \
  1198. X=`grep '^CKVER='$(CKVER)'$$' ./UNINSTALL || :`;\
  1199. if test -z "$$X"; then\
  1200. echo "?UNINSTALL file is not for C-Kermit version $(CKVER)";\
  1201. exit 2;\
  1202. fi;\
  1203. PrN () { echo "$$*"; };\
  1204. PrC () { echo "$$* \c"; };\
  1205. RmF () { test -f "$$1" && rm -f "$$1" && echo ".\c" && flag=F ; };\
  1206. RmD () { \
  1207. dir=$$1;\
  1208. while test -d "$$dir"; do\
  1209. rmdir "$$dir" 2>&- || return && echo "$$dir" && flag=D;\
  1210. dir=`echo "$$dir" | sed 's!/[^/]*/*$$!!'`;\
  1211. done; \
  1212. };\
  1213. EfM () { \
  1214. case "$$flag" in\
  1215. f) echo "- Nothing to remove!";;\
  1216. d) echo "Nothing to remove!";;\
  1217. F) echo " done";;\
  1218. D) echo "done";;\
  1219. esac; \
  1220. };\
  1221. while read Act Args; do\
  1222. case $$Act in\
  1223. EfM) EfM;;\
  1224. RmD) RmD $$Args;;\
  1225. RmF) RmF $$Args;;\
  1226. PrN) PrN $$Args;;\
  1227. PrC) PrC $$Args;;\
  1228. set) eval $$Args;;\
  1229. esac;\
  1230. done < ./UNINSTALL
  1231. makewhat:
  1232. @echo 'make what? You must tell which platform to make C-Kermit for.'
  1233. @echo Examples: make linux, make aix, make solaris10, make hpux1100.
  1234. @echo Please read the comments at the beginning of the makefile.
  1235. ###########################################################################
  1236. #
  1237. # Dependencies Section:
  1238. wermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1239. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1240. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1241. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1242. ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1243. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1244. ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
  1245. $(CC2) $(LNKFLAGS) -o wermit \
  1246. ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  1247. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1248. ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
  1249. ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
  1250. ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucon.$(EXT) \
  1251. ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
  1252. ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
  1253. $(LIBS)
  1254. # Preferred configuration with select()-based CONNECT
  1255. xermit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1256. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1257. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1258. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1259. ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1260. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1261. ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) ckuath.$(EXT) \
  1262. ck_crp.$(EXT) ck_ssl.$(EXT)
  1263. $(CC2) $(LNKFLAGS) -o wermit \
  1264. ckcmai.$(EXT) ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  1265. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1266. ckcpro.$(EXT) ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) \
  1267. ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) \
  1268. ckuusx.$(EXT) ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) \
  1269. ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckusig.$(EXT) \
  1270. ckctel.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
  1271. ckuath.$(EXT) ck_crp.$(EXT) ck_ssl.$(EXT) $(LIBS)
  1272. # Malloc Debugging version
  1273. mermit: ckcmdb.$(EXT) ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
  1274. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1275. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1276. ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
  1277. ckuxla.$(EXT) ckucon.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  1278. ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
  1279. ckusig.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
  1280. $(CC2) $(LNKFLAGS) -o mermit ckcmdb.$(EXT) ckclib.$(EXT) ckcmai.$(EXT)\
  1281. ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  1282. ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  1283. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1284. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1285. ckuusr.$(EXT) ckucon.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  1286. ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckcuni.$(EXT) \
  1287. ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
  1288. # Kerberized Version - Subject to USA export restrictions.
  1289. # NOTE: We don't use this any more -- As of 15 Feb 2003, the "xermit"
  1290. # target is used for both secure and regular version.
  1291. krbmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1292. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1293. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1294. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1295. ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1296. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1297. ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
  1298. ckcftp.$(EXT) ck_ssl.$(EXT)
  1299. $(CC2) $(LNKFLAGS) -o krbmit ckcmai.$(EXT) ckclib.$(EXT) \
  1300. ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  1301. ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  1302. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1303. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1304. ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  1305. ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  1306. ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) \
  1307. ck_ssl.$(EXT) $(LIBS)
  1308. krbmit-debug: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) \
  1309. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1310. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1311. ckcpro.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) \
  1312. ckuxla.$(EXT) ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) \
  1313. ckudia.$(EXT) ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) \
  1314. ckusig.$(EXT) ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) \
  1315. ckupty.$(EXT) ck_ssl.$(EXT) ckcmdb.$(EXT) ckcftp.$(EXT)
  1316. $(CC2) $(LNKFLAGS) -o krbmit ckcmdb.$(EXT) ckcmai.$(EXT) \
  1317. ckclib.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) \
  1318. ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) \
  1319. ckucmd.$(EXT) ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) \
  1320. ckuus5.$(EXT) ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) \
  1321. ckuusy.$(EXT) ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) \
  1322. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1323. ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
  1324. ckcftp.$(EXT) ck_ssl.$(EXT) $(LIBS)
  1325. # SRP(TM) Version - Subject to USA export restrictions.
  1326. srpmit: ckcmai.$(EXT) ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1327. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1328. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1329. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1330. ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1331. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1332. ckuath.$(EXT) ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) \
  1333. ckcftp.$(EXT) ck_ssl.$(EXT)
  1334. $(CC2) $(LNKFLAGS) -o srpmit ckcmai.$(EXT) ckclib.$(EXT) \
  1335. ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  1336. ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  1337. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1338. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1339. ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  1340. ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  1341. ck_crp.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ck_ssl.$(EXT) \
  1342. ckcftp.$(EXT) $(LIBS)
  1343. # Kerberized Version - Not subject to USA export restrictions.
  1344. krbmit-export: ckcmai.$(EXT) \
  1345. ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1346. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1347. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1348. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1349. ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1350. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1351. ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
  1352. $(CC2) $(LNKFLAGS) -o krbmit-export ckcmai.$(EXT) ckclib.$(EXT) \
  1353. ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  1354. ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  1355. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1356. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1357. ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  1358. ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  1359. ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
  1360. # SRP(TM) Version - Not subject to USA export restrictions.
  1361. srpmit-export: ckcmai.$(EXT) \
  1362. ckclib.$(EXT) ckucmd.$(EXT) ckuusr.$(EXT) ckuus2.$(EXT) \
  1363. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  1364. ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) ckcpro.$(EXT) \
  1365. ckcfns.$(EXT) ckcfn2.$(EXT) ckcfn3.$(EXT) ckuxla.$(EXT) \
  1366. ckucns.$(EXT) ckutio.$(EXT) ckufio.$(EXT) ckudia.$(EXT) \
  1367. ckuscr.$(EXT) ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) \
  1368. ckuath.$(EXT) ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT)
  1369. $(CC2) $(LNKFLAGS) -o srpmit-export ckcmai.$(EXT) ckclib.$(EXT) \
  1370. ckutio.$(EXT) ckufio.$(EXT) ckcfns.$(EXT) ckcfn2.$(EXT) \
  1371. ckcfn3.$(EXT) ckuxla.$(EXT) ckcpro.$(EXT) ckucmd.$(EXT) \
  1372. ckuus2.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  1373. ckuus6.$(EXT) ckuus7.$(EXT) ckuusx.$(EXT) ckuusy.$(EXT) \
  1374. ckuusr.$(EXT) ckucns.$(EXT) ckudia.$(EXT) ckuscr.$(EXT) \
  1375. ckcnet.$(EXT) ckctel.$(EXT) ckusig.$(EXT) ckuath.$(EXT) \
  1376. ckcuni.$(EXT) ckupty.$(EXT) ckcftp.$(EXT) $(LIBS)
  1377. ###########################################################################
  1378. # man page...
  1379. #
  1380. ckuker.nr:
  1381. @echo This target is obsolete.
  1382. @echo The ckuker.nr file no longer needs any preprocessing.
  1383. ###########################################################################
  1384. # Dependencies for each module...
  1385. #
  1386. ckcmai.$(EXT): ckcmai.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcnet.h ckcsig.h \
  1387. ckuusr.h ckctel.h ckclib.h
  1388. ckclib.$(EXT): ckclib.c ckclib.h ckcdeb.h ckcasc.h ckcsym.h
  1389. ckcpro.$(EXT): ckcpro.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckclib.h
  1390. ckcpro.c: ckcpro.w wart ckcdeb.h ckcsym.h ckcasc.h ckcker.h ckcnet.h ckctel.h \
  1391. ckclib.h
  1392. ./wart ckcpro.w ckcpro.c
  1393. ckcfns.$(EXT): ckcfns.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h ckcuni.h \
  1394. ckuxla.h ckclib.h ckcnet.h
  1395. ckcfn2.$(EXT): ckcfn2.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
  1396. ckuxla.h ckctel.h ckclib.h ckcnet.h ckcuni.h
  1397. ckcfn3.$(EXT): ckcfn3.c ckcker.h ckcdeb.h ckcsym.h ckcasc.h ckcxla.h \
  1398. ckuxla.h ckclib.h ckcuni.h
  1399. ckuxla.$(EXT): ckuxla.c ckcker.h ckcsym.h ckcdeb.h ckcxla.h ckuxla.h ckclib.h \
  1400. ckcuni.h
  1401. ckcuni.$(EXT): ckcuni.c ckcdeb.h ckcker.h ckucmd.h ckcuni.h ckcxla.h ckuxla.h
  1402. ckuusr.$(EXT): ckuusr.c ckucmd.h ckcker.h ckuusr.h ckcsym.h ckcdeb.h ckcxla.h \
  1403. ckuxla.h ckcasc.h ckcnet.h ckctel.h ckclib.h ckcuni.h
  1404. ckuus2.$(EXT): ckuus2.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  1405. ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  1406. ckuus3.$(EXT): ckuus3.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  1407. ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  1408. ckuus4.$(EXT): ckuus4.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  1409. ckcasc.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  1410. ckuus5.$(EXT): ckuus5.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
  1411. ckcsym.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
  1412. ckuus6.$(EXT): ckuus6.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcnet.h \
  1413. ckcsym.h ckctel.h ckclib.h
  1414. ckuus7.$(EXT): ckuus7.c ckucmd.h ckcker.h ckuusr.h ckcdeb.h ckcxla.h ckuxla.h \
  1415. ckcasc.h ckcnet.h ckcsym.h ckctel.h ckclib.h ckcuni.h
  1416. ckuusx.$(EXT): ckuusx.c ckcker.h ckuusr.h ckcdeb.h ckcasc.h ckcsym.h \
  1417. ckcsig.h ckcnet.h ckctel.h ckclib.h ckcxla.h ckuxla.h ckcuni.h
  1418. ckuusy.$(EXT): ckuusy.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1419. ckclib.h
  1420. ckucmd.$(EXT): ckucmd.c ckcasc.h ckucmd.h ckcdeb.h ckcsym.h ckctel.h ckclib.h
  1421. ckufio.$(EXT): ckufio.c ckcdeb.h ckuver.h ckcsym.h ckclib.h \
  1422. ckcxla.h ckuxla.h ckcuni.h
  1423. ckutio.$(EXT): ckutio.c ckcdeb.h ckcnet.h ckuver.h ckcsym.h ckctel.h ckclib.h
  1424. ckucon.$(EXT): ckucon.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1425. ckclib.h
  1426. ckucns.$(EXT): ckucns.c ckcker.h ckcdeb.h ckcasc.h ckcnet.h ckcsym.h ckctel.h \
  1427. ckclib.h ckcxla.h ckuxla.h ckcuni.h
  1428. ckcnet.$(EXT): ckcnet.c ckcdeb.h ckcker.h ckcnet.h ckcsym.h ckcsig.h ckctel.h \
  1429. ckclib.h
  1430. ckctel.$(EXT): ckcsym.h ckcdeb.h ckcker.h ckcnet.h ckctel.h ckclib.h
  1431. # ck_off_t: ck_off_t.$(EXT)
  1432. # $(CC) -o ck_off_t ck_off_t.$(EXT)
  1433. wart: ckwart.$(EXT)
  1434. $(CC) $(LNKFLAGS) -o wart ckwart.$(EXT) $(LIBS)
  1435. ckcmdb.$(EXT): ckcmdb.c ckcdeb.h ckcsym.h ckclib.h
  1436. ckwart.$(EXT): ckwart.c
  1437. ckudia.$(EXT): ckudia.c ckcker.h ckcdeb.h ckucmd.h ckcasc.h ckcsym.h ckcsig.h \
  1438. ckcnet.h ckctel.h ckclib.h
  1439. ckuscr.$(EXT): ckuscr.c ckcker.h ckcdeb.h ckcasc.h ckcsym.h ckcsig.h \
  1440. ckcnet.h ckctel.h ckclib.h
  1441. ckusig.$(EXT): ckusig.c ckcasc.h ckcdeb.h ckcker.h ckcnet.h ckuusr.h \
  1442. ckcsig.h ckctel.h ckclib.h
  1443. ckcftp.$(EXT): ckcftp.c ckcdeb.h ckcasc.h ckcker.h ckucmd.h ckuusr.h \
  1444. ckcnet.h ckctel.h ckcxla.h ckuxla.h ckcuni.h
  1445. ckupty.$(EXT): ckupty.c ckupty.h ckcdeb.h
  1446. ckuath.$(EXT): ckuath.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
  1447. ckclib.h ckcnet.h
  1448. ck_crp.$(EXT): ck_crp.c ckcdeb.h ckcnet.h ckuath.h ckclib.h
  1449. ck_ssl.$(EXT): ck_ssl.c ckcdeb.h ckucmd.h ckuath.h ckuat2.h ckctel.h \
  1450. ckclib.h ck_ssl.h
  1451. ###########################################################################
  1452. #
  1453. # Entries to make C-Kermit for specific systems.
  1454. #
  1455. # Put the ones that need short makefiles first.
  1456. #Apollo Aegis 9.x. Includes TCP/IP support.
  1457. #You can also add processor-dependent optimization switches like -M570.
  1458. aegis:
  1459. @echo Making C-Kermit $(CKVER) for Apollo Aegis 9.x...
  1460. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1461. "CFLAGS= -DBSD4 -DTCPSOCKET -DNOCSETS -DCK_CURSES -O $(KFLAGS)" \
  1462. "LIBS = -lcurses -ltermcap"
  1463. #Apple Mac II, A/UX pre-3.0
  1464. #Warning, if "send *" doesn't work, try the auxufs makefile entry below.
  1465. aux:
  1466. @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1467. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1468. "CFLAGS = -DAUX -DTCPSOCKET $(KFLAGS) -i -O" "LNKFLAGS = -i"
  1469. #Apple Mac II, A/UX pre-3.0, compiled with gcc
  1470. auxgcc:
  1471. @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1472. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1473. "CFLAGS = -DAUX -DTCPSOCKET -traditional $(KFLAGS) -i -O" \
  1474. "LNKFLAGS = " "CC = gcc" "CC2 = gcc"
  1475. #Apple Mac II, A/UX, pre-3.0, but with ufs file volumes, uses <dirent.h>.
  1476. auxufs:
  1477. @echo Making C-Kermit $(CKVER) for Macintosh A/UX...
  1478. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1479. "CFLAGS = -DAUX -DTCPSOCKET -DDIRENT $(KFLAGS) -i -O" "LNKFLAGS = -i"
  1480. #Apple Mac II, A/UX 3.0, compiled with gcc
  1481. aux3gcc:
  1482. @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
  1483. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  1484. "CFLAGS = -DAUX -DHDBUUCP -DLFDEVNO -DTCPSOCKET -DDIRENT $(KFLAGS)" \
  1485. "LNKFLAGS = -s" "LIBS = $(LIBS)" \
  1486. "CC=gcc -pipe -traditional" "CC2=gcc -pipe -traditional"
  1487. #Apple Mac II, A/UX 3.0, compiled with gcc, uses curses
  1488. aux3cgcc:
  1489. @echo Making C-Kermit $(CKVER) for Macintosh A/UX 3.0...
  1490. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) aux3gcc \
  1491. KTARGET=$${KTARGET:-$(@)} \
  1492. "KFLAGS=$(KFLAGS) -DCK_CURSES" "LIBS = -lcurses $(LIBS)"
  1493. # Tenon MachTen, tested on Apple Powerbook with MachTen 2.1.1.D.
  1494. # NOTE: This doesn't do anything about UUCP. It only works if /usr/spool/uucp
  1495. # has permission of 777, and dialout device is world read/writeable.
  1496. machten:
  1497. @echo Making C-Kermit $(CKVER) for MachTen...
  1498. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  1499. "CFLAGS= -DBSD43 -DTCPSOCKET -DSIG_V -DNDGPWNAM -DCK_CURSES -O \
  1500. $(KFLAGS)" "LIBS=-lcurses -ltermcap"
  1501. #Bell Labs Research UNIX V10
  1502. #Can't add TCP/IP because there is no sockets library. It would have to
  1503. #be done using streams, but there is no code in C-Kermit for that.
  1504. #Remove -DNOJC if desired (if your system has csh, ksh, or bash).
  1505. bellv10:
  1506. @echo Making C-Kermit $(CKVER) for Bell Labs Research UNIX V10...
  1507. $(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
  1508. "CFLAGS= -DBELLV10 -DBSD4 -DNDIR -DNOJC -DNOSYSIOCTLH -DNOSETREU \
  1509. -DNOCSETS -MINIDIAL $(KFLAGS)"
  1510. # WARNING: The early BSD entries do not build in version 7.0 with the stock
  1511. # BSD compiler: "Too many defines". Unless you can rebuild cpp to have more
  1512. # space for defines, these builds must be accomplished by:
  1513. # copying the /usr/include tree to someplace else, preprocessing there with cc
  1514. # -E -I./include or whatever (plus all the same -D's, adding any necessary
  1515. # -U/-D to override the architecture)), renaming the the resulting files back
  1516. # to their original names, bringing them back to the original BSD system, and
  1517. # running the make target there. This technique was used for 4.2 and 4.3 BSD
  1518. # on a VAX in C-Kermit 7.0 (later, cpp on that machine was rebuilt to allow
  1519. # more symbols, so the C-Kermit 8.0 build proceeds normally).
  1520. #Berkeley Unix 4.1
  1521. bsd41:
  1522. @echo Making C-Kermit $(CKVER) for 4.1BSD...
  1523. $(MAKE) wermit KTARGET=$${KTARGET-$(@)} \
  1524. "CFLAGS= -DBSD41" "LIBS = -ljobs"
  1525. #Berkeley 4.2, 4.3, also Ultrix-32 1.x, 2.x, 3.x, many others
  1526. # Add -O, -s, etc, if they work.
  1527. # If you have a version of BSD but signal() is void rather than int,
  1528. # "make bsd KFLAGS=-DSIG_V".
  1529. bsd42:
  1530. @echo Making C-Kermit $(CKVER) for 4.2BSD...
  1531. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1532. "CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
  1533. -DCK_CURSES -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK -DBSD42HACK \
  1534. $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
  1535. bsd:
  1536. $(MAKE) CC=$(CC) CC2=$(CC2) bsd42 KTARGET=$${KTARGET-$(@)}
  1537. #Berkeley Unix 4.2 or 4.3 with HoneyDanBer UUCP
  1538. bsdhdb:
  1539. @echo Making C-Kermit $(CKVER) for 4.2BSD with HDB UUCP...
  1540. $(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
  1541. "KFLAGS= -DHDBUUCP $(KFLAGS)"
  1542. #Berkeley Unix 4.3 with acucntrl program, curses, TCP/IP included.
  1543. bsd43:
  1544. @echo Making C-Kermit $(CKVER) for 4.3BSD...
  1545. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1546. "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
  1547. -DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
  1548. -DBSD42HACK $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
  1549. #4.3BSD, curses excluded
  1550. bsd43nc:
  1551. @echo Making C-Kermit $(CKVER) for 4.3BSD...
  1552. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1553. "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH \
  1554. -DACUCNTRL -DSYSTIMEBH -DNOIKSD -DNOPUTENV -DNOANSI -DBIGBUFOK \
  1555. -DBSD42HACK $(KFLAGS)" "LIBS=$(LIBS)"
  1556. #4.3BSD, TCP/IP excluded.
  1557. bsd43nonet:
  1558. @echo Making C-Kermit $(CKVER) for 4.3BSD + curses...
  1559. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  1560. "CFLAGS= -DBSD4 -DBSD43 -DTCPSOCKET -DNOREALPATH -DNOTIMEH -DNOIKSD \
  1561. -DCK_CURSES -DACUCNTRL -DSYSTIMEBH -DNOPUTENV -DNOANSI -DBIGBUFOK \
  1562. -DBSD42HACK -DNONET $(KFLAGS)" "LIBS=-lcurses -ltermcap $(LIBS)"
  1563. #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
  1564. #but without acucntrl program
  1565. bsdlck:
  1566. @echo Making C-Kermit $(CKVER) for 4.2BSD, /usr/spool/uucp/LCK/...
  1567. $(MAKE) CC=$(CC) CC2=$(CC2) bsd KTARGET=$${KTARGET-$(@)} \
  1568. "KFLAGS= -DLCKDIR $(KFLAGS)"
  1569. #Berkeley UNIX 4.4-Lite, 4.4-Encumbered, Net/2, etc (Post-Reno),
  1570. #with TCP/IP networking. This was the basis for FreeBSD, NetBSD, OpenBSD,
  1571. #BSDI, BSD/OS, and Mac OS X (each of which has its own set of targets that
  1572. #are newer than this one).
  1573. #
  1574. #NOTE: This is not a pure POSIX configuration. Using -DPOSIX instead of
  1575. # -DBSD44 prevents any kind of directory-reading (for wildcard expansion),
  1576. #and disallows use of ENOTCONN symbol for detecting broken network
  1577. #connections, and disallows RTS/CTS flow control, and would also require
  1578. #definition of the appropriate UUCP lockfile convention.
  1579. #Do not add -DCK_POSIX_SIG without reading <signal.h> first! For example,
  1580. #sigsetjmp(), etc, tend to be defined but not implemented.
  1581. #
  1582. #NOTE: originally crypt was in libc - later it was unbundled.
  1583. #Remove the LIBS clause to build on an early 4.4BSD platform.
  1584. #
  1585. bsd44:
  1586. @echo Making C-Kermit $(CKVER) for 4.4BSD...
  1587. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1588. "CFLAGS= -DBSD44 -DTCPSOCKET $(KFLAGS) -O" "LIBS=-lcrypt"
  1589. #Berkeley UNIX 4.4, as above, but with curses for fullscreen display
  1590. #Please read notes for bsd44 entry just above.
  1591. # NOTE: This one dumped core on the real 4.4BSD development system at
  1592. # UC Berkeley (an HP-9000/300), so the no-curses version was used
  1593. # for that one, which was unplugged years ago.
  1594. bsd44c:
  1595. @echo Making C-Kermit $(CKVER) for 4.4BSD with curses...
  1596. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1597. "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O" \
  1598. "LIBS= -lcurses -ltermcap -lcrypt $(LIBS)"
  1599. #For FreeBSD 1.x.
  1600. freebsd1:
  1601. @echo 'Making C-Kermit $(CKVER) for FreeBSD...'
  1602. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1603. "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
  1604. -DFNFLOAT -DNOHTERMCAP -DNOREALPATH -DNOSYSCONF $(KFLAGS) -O -pipe" \
  1605. "LIBS= -lcurses -ltermcap -lm $(LIBS)"
  1606. #FreeBSD 2.x with ncurses
  1607. freebsd2:
  1608. @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with ncurses...'
  1609. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1610. "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
  1611. -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -funsigned-char \
  1612. -DFNFLOAT $(KFLAGS) -O -pipe" \
  1613. "LIBS= -lncurses -ltermlib -lcrypt -lm $(LIBS)"
  1614. #For FreeBSD 2.x -- Uses curses rather than ncurses
  1615. freebsd2c:
  1616. @echo 'Making C-Kermit $(CKVER) for FreeBSD 2.x with curses...'
  1617. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1618. "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_STRERROR \
  1619. -DTPUTSARGTYPE=int -DTPUTSARG1CONST -DFREEBSD2 -DFNFLOAT \
  1620. -funsigned-char $(KFLAGS) -O -pipe" \
  1621. "LIBS= -lcurses -ltermlib -lcrypt -lm $(LIBS)"
  1622. #FreeBSD 3.x with ncurses and uu_lock()
  1623. #(Note: uu_lock() goes back to 2.2.2, but not necessarily 2.0)
  1624. #OK 2011/08/20 FreeBSD 3.3
  1625. freebsd3:
  1626. @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with ncurses...'
  1627. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1628. "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -funsigned-char \
  1629. -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 -DUSE_UU_LOCK -DFNFLOAT \
  1630. $(KFLAGS) -O -pipe" \
  1631. "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
  1632. #As above but with curses rather than ncurses.
  1633. freebsd3c:
  1634. @echo 'Making C-Kermit $(CKVER) for FreeBSD 3.x with curses...'
  1635. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1636. "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DNOCOTFMC -DUSE_UU_LOCK \
  1637. -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD3 $(KFLAGS) -DFNFLOAT \
  1638. -funsigned-char -pipe -O" \
  1639. "LIBS= -lcurses -lcrypt -lutil -lm $(LIBS)"
  1640. #FreeBSD 4.0 with ncurses and uu_lock(). Note - there is no curses in 4.0.
  1641. #ncurses 5.0 is broken requiring us to work around with setbuf().
  1642. freebsd40:
  1643. @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.x with ncurses...'
  1644. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1645. "CFLAGS= -DBSD44 -DCK_NCURSES -DTCPSOCKET -DNOCOTFMC -DFNFLOAT \
  1646. -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR -DFREEBSD4 \
  1647. -DNONOSETBUF -DUSE_UU_LOCK $(KFLAGS) -O -pipe" \
  1648. "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
  1649. #FreeBSD 4.1 and above
  1650. #Like FreeBSD 4.0 but without the NONOSETBUF hack and with CK_NEWTERM.
  1651. #NOTE: This target definitely does not work for FreeBSD 3.3 in 9.0.302.
  1652. #and it has not been tested on 4 or 5.
  1653. #OK 2011/06/xx FreeBSD 3.3, 4,4, 4.7, and 8.2
  1654. #OK 2011/08/21 FreeBSD 3.3, 4.4, 6.4, 9.0
  1655. freebsd freebsd41 freebsd72 freebsd5 freebsd6 freebsd7 freebsd8 freebsd9:
  1656. @echo 'Making C-Kermit $(CKVER) for FreeBSD 4.1 or later...'
  1657. @if test `uname -r | cut -d . -f 1` -ge 8; then \
  1658. HAVE_FBSD8='-DFREEBSD8'; \
  1659. else HAVE_FBSD8=''; fi; \
  1660. if test `uname -r | cut -d . -f 1` -ge 9; then \
  1661. HAVE_FBSD9='-DFREEBSD9'; \
  1662. else HAVE_FBSD9=''; fi; \
  1663. if test -f /usr/include/utmpx.h ; \
  1664. then HAVE_UTMPX='-DHAVEUTMPX' ; \
  1665. else HAVE_UTMPX='' ; fi; \
  1666. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1667. "CFLAGS= -DBSD44 -DCK_NCURSES -DCK_NEWTERM -DTCPSOCKET -DNOCOTFMC \
  1668. -DFREEBSD4 $$HAVE_FBSD8 $$HAVE_FBSD9 -DUSE_UU_LOCK -DFNFLOAT \
  1669. $$HAVE_UTMPX -DHERALD=\"\\\" `uname -rs`\\\"\" \
  1670. -funsigned-char -DTPUTSARGTYPE=int -DUSE_STRERROR $(KFLAGS) \
  1671. -O2 -pipe"\
  1672. "LIBS= -lncurses -lcrypt -lutil -lm $(LIBS)"
  1673. #FreeBSD 5.0 or later with OpenSSL.
  1674. #OK 2011/06/15 FreeBSD 4.7 and 8.2
  1675. #OK 2011/08/20 FreeBSD 9.0-CURRENT
  1676. freebsd+ssl freebsd+openssl freebsd50+openssl:
  1677. @echo 'Making C-Kermit $(CKVER) for FreeBSD with Kerberos 5...'
  1678. @case `openssl version` in \
  1679. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  1680. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  1681. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  1682. *) OPENSSLOPTION="" ;; \
  1683. esac; \
  1684. HAVE_DES=''; \
  1685. DES_LIB=''; \
  1686. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  1687. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  1688. DES_LIB='-ldes'; \
  1689. HAVE_DES='-DCK_DES -DLIBDES'; \
  1690. echo "HAVE DES"; \
  1691. else echo "NO DES"; \
  1692. fi; \
  1693. $(MAKE) freebsd KTARGET=$${KTARGET:-$(@)} "CC = $(CC)" "CC2 = $(CC2)" \
  1694. KFLAGS="-DCK_AUTHENTICATION -DCK_SSL $(SSLINC) -DZLIB $$OPENSSLOPTION \
  1695. $$HAVE_DES $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  1696. "LIBS= -lncurses -lcrypt -lssl -lcrypto -lutil -lm \
  1697. $(SSLLIB) $$DES_LIB $(LIBS)"; \
  1698. if [ ! -f ./wermit ] || [ ./ckcmai.o -nt ./wermit ] ; then \
  1699. echo ""; \
  1700. echo "If build failed try:"; \
  1701. echo ""; \
  1702. echo " make clean ; make $${KTARGET:-$(@)} KFLAGS=-UCK_DES"; \
  1703. echo ""; \
  1704. fi
  1705. #NetBSD 1.4.1 or later with vanity banner automated with uname
  1706. #and automatic inclusion of large file support if it is available.
  1707. #This target tested successfully on NetBSD 1.4.1, 1.5.2, and 2.0.3 (Jan 2006).
  1708. #Fails on NetBSD 2.0 on Sun/3 mc68030 with gcc 3.3.3 unless optimization is
  1709. #disabled on ckcfn2.c ("KFLAGS=-O0") (Letter O Digit Zero).
  1710. #(This could be automated by testing `uname -m` for "sun3".)
  1711. #OK: 2011/06/15 on NetBSD 1.5.2 and 5.1.
  1712. #NetBSD 4.1: have to include <time.h>.
  1713. #OK: 2011/08/21 on 5.1.
  1714. #OK: (many more up through NetBSD 7.2.1)
  1715. #OK: NetBSD 8.x
  1716. #OK: 2020/08/24 NetBSD 9.0
  1717. # `uname -r | grep "[6789].[0-9]" > /dev/null && echo '-DTIMEH'`
  1718. netbsd netbsd2 netbsd15 netbsd16 old-netbsd:
  1719. @echo Making C-Kermit $(CKVER) for NetBSD `uname -r` with curses...
  1720. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1721. "CFLAGS=`grep fseeko /usr/include/stdio.h > /dev/null && \
  1722. echo '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'` \
  1723. -DTIMEH -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR \
  1724. -funsigned-char -DHERALD=\"\\\" `uname -s -r`\\\"\" \
  1725. -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
  1726. "LIBS= -lcurses -lcrypt -lm -lutil $(LIBS)"
  1727. #NetBSD 1.4.1 or later with OpenSSL
  1728. #OK: 2011/06/15 on NetBSD 5.1 (but not 1.5.2 with OpenSSL 0.9.5a)
  1729. #OK: 2011/08/21 on 5.1.
  1730. netbsd+ssl netbsd+openssl:
  1731. @echo 'Making C-Kermit $(CKVER) for NetBSD+OpenSSL SSLLIB=$(SSLLIB)'
  1732. @case `openssl version` in \
  1733. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  1734. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  1735. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  1736. *) OPENSSLOPTION="" ;; \
  1737. esac; \
  1738. HAVE_DES=''; \
  1739. DES_LIB=''; \
  1740. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  1741. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  1742. DES_LIB='-ldes'; \
  1743. HAVE_DES='-DCK_DES -DLIBDES'; \
  1744. echo "HAVE DES"; \
  1745. else echo "NO DES"; \
  1746. fi; \
  1747. $(MAKE) netbsd KTARGET=$${KTARGET:-$(@)} "CC = $(CC)" "CC2 = $(CC2)" \
  1748. "KFLAGS= -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_CAST $$HAVE_DES \
  1749. -DCK_SSL -DCK_PAM -DZLIB -DNO_DCL_INET_ATON $$OPENSSLOPTION \
  1750. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  1751. "LIBS= -L/usr/pkg/lib -R/usr/pkg/lib -lssl $$DES_LIB -lcurses \
  1752. -lcrypto -lcrypt -lz -lm -lpam -lutil $(LIBS)"
  1753. #NetBSD with MIT Kerberos 5:
  1754. # OK 2011/06/15 (once K5INC and K5LIB were set right).
  1755. # NOT OK for Heimdal - Heimdal Kerberos support in C-Kermit needs work.
  1756. # OK: 2011/08/21 on 5.1.
  1757. netbsd+krb5:
  1758. @echo 'Making C-Kermit $(CKVER) for NetBSD with Kerberos 5...'
  1759. @case `openssl version` in \
  1760. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  1761. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  1762. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  1763. *) OPENSSLOPTION="" ;; \
  1764. esac; \
  1765. HAVE_DES=''; \
  1766. DES_LIB=''; \
  1767. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  1768. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  1769. DES_LIB='-ldes'; \
  1770. HAVE_DES='-DCK_DES -DLIBDES'; \
  1771. echo "HAVE DES"; \
  1772. else echo "NO DES"; \
  1773. fi; \
  1774. $(MAKE) netbsd KTARGET=$${KTARGET:-$(@)} "CC = $(CC)" "CC2 = $(CC2)" \
  1775. "KFLAGS= -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_KERBEROS -DKRB5 \
  1776. -DCK_CAST $$HAVE_DES -DNOFTP_GSSAPI $(K5INC) $(K5INC)/krb5 \
  1777. $(KFLAGS)" \
  1778. "LIBS= $(K5LIB) -L/usr/pkg/lib -R/usr/pkg/lib -lcurses $$DES_LIB \
  1779. -lcrypto -lgssapi -lkrb5 -lm -lutil $(LIBS)"
  1780. # NetBSD - With Kerberos 5 and SSL and Zlib.
  1781. # OK: 2011/08/21 on 5.1 with MIT Kerberos.
  1782. netbsd+krb5+ssl netbsd+krb5+openssl+zlib:
  1783. @echo 'Making C-Kermit $(CKVER) for NetBSD+OpenSSL+Kerberos5...'
  1784. @case `openssl version` in \
  1785. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  1786. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  1787. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  1788. *) OPENSSLOPTION="" ;; \
  1789. esac; \
  1790. HAVE_DES=''; \
  1791. DES_LIB=''; \
  1792. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  1793. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  1794. DES_LIB='-ldes'; \
  1795. HAVE_DES='-DCK_DES -DLIBDES'; \
  1796. echo "HAVE DES"; \
  1797. else echo "NO DES"; \
  1798. fi; \
  1799. $(MAKE) netbsd KTARGET=$${KTARGET:-$(@)} "CC = $(CC)" "CC2 = $(CC2)" \
  1800. "KFLAGS= -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_CAST $$HAVE_DES \
  1801. -DCK_KERBEROS -DKRB5 -DNOFTP_GSSAPI $(K5INC) $(K5INC)/krb5 \
  1802. -DCK_SSL -DCK_PAM -DZLIB -DNO_DCL_INET_ATON $$OPENSSLOPTION \
  1803. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  1804. "LIBS= $(K5LIB) -L/usr/pkg/lib -R/usr/pkg/lib -lssl $$DES_LIB \
  1805. -lcrypto -lcrypt -lgssapi -lkrb5 -lz -lm -lpam -lutil -lcurses $(LIBS)"
  1806. #Special Security Enhanced NetBSD target with SRP, SSL, and zlib support.
  1807. #To build this, you need to BUILD the pkgsrc srp_client package. After
  1808. #you build it, you must go into work/srp-x.y.z/libkrypto and "bmake install"
  1809. #then go to work/srp-x.y.z/libsrp and "bmake install". As of 2005Q3, the
  1810. #pkgsrc install only installed the statically linked client applications. You
  1811. #need to manually install the libraries to build your own applications.
  1812. #NOT TESTED RECENTLY - probably needs work.
  1813. netbsd+ssl+srp+zlib:
  1814. @echo Making C-Kermit $(CKVER) for NetBSD with curses...
  1815. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1816. "CFLAGS= -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR -DNETBSD15 \
  1817. -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int \
  1818. -I/usr/include/openssl -I/usr/pkg/include \
  1819. -DCK_AUTHENTICATION -DCK_SRP -DPRE_SRP_1_4_5 -DCK_ENCRYPTION \
  1820. -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DZLIB -DFNFLOAT $(KFLAGS) -O" \
  1821. "LIBS= -L/usr/pkg/lib -R/usr/pkg/lib -lcurses -lsrp -lgmp -ldes \
  1822. -lssl -lkrypto -lcrypto -lcrypt -lz -lm -lutil $(LIBS)"
  1823. #NetBSD with curses left out (e.g. for use as IKSD).
  1824. netbsdnc:
  1825. @echo Making C-Kermit $(CKVER) for NetBSD with no curses...
  1826. $(MAKE) CC=$(CC) CC2=$(CC2) netbsd KTARGET=$${KTARGET:-$(@)} \
  1827. "KFLAGS=-DNOCURSES"
  1828. #NetBSD with ncurses requested explicitly rather than curses-which-is-ncurses
  1829. netbsdn:
  1830. @echo Making C-Kermit $(CKVER) for NetBSD with curses...
  1831. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1832. "CFLAGS=`grep fseeko /usr/include/stdio.h > /dev/null && \
  1833. echo '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'` \
  1834. -DBSD44 -DCK_CURSES -DTCPSOCKET -DUSE_STRERROR \
  1835. -DHERALD=\"\\\" NetBSD `uname -r`\\\"\" \
  1836. -DCK_DTRCD -DCK_DTRCTS -DTPUTSARGTYPE=int -DFNFLOAT $(KFLAGS) -O" \
  1837. "LIBS= -L/usr/pkg/lib -lncurses -lcrypt -lm -lutil $(LIBS)"
  1838. #OpenBSD before 2.3.
  1839. #Uses ncurses as its curses so use -ltermlib, not -ltermcap
  1840. #But it doesn't use uu_lock() which was introduced in OpenBSD 2.3.
  1841. #For that use the next entry.
  1842. #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
  1843. openbsdold:
  1844. @echo Making C-Kermit $(CKVER) for OpenBSD...
  1845. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1846. "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1847. -DFNFLOAT -DNDSYSERRLIST $(KFLAGS) -O" "LIBS= -lcurses -ltermlib -lm"
  1848. #OpenBSD 2.3 or later
  1849. #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
  1850. #For C-Kermit 8.0 (Christian Weisgerber):
  1851. # -ltermlib removed (presumably because -lcurses==ncurses already includes it)
  1852. # -DUSE_UU_LOCK and -lutil added for uu_lock()
  1853. # -DNDSYSERRLIST changed to -DUSE_STRERROR
  1854. #If this gives you trouble use the previous entry.
  1855. #NOTE: The openbsd and openbsd+ssl should be reworked to be like the
  1856. #corresponding FreeBSD and NetBSD targets. The mirbsd targets should
  1857. openbsd:
  1858. @echo Making C-Kermit $(CKVER) for OpenBSD 2.3 or later...
  1859. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1860. "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1861. -DHERALD=\"\\\" OpenBSD `uname -r`\\\"\" \
  1862. -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR $(KFLAGS) -O" \
  1863. "LIBS= -lcurses -lutil -lm"
  1864. #Better to chain to the openbsd target but...
  1865. mirbsd:
  1866. @echo Making C-Kermit $(CKVER) for OpenBSD 2.3 or later...
  1867. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1868. "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1869. -DHERALD=\"\\\" MirBSD `uname -r`\\\"\" \
  1870. -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR $(KFLAGS) -O" \
  1871. "LIBS= -lcurses -lutil -lm"
  1872. #OpenBSD 3.0 or later includes OpenSSL
  1873. #Add -DMAINTYPE=int if you get complaints about main: return type is not int.
  1874. #For C-Kermit 8.0 (Christian Weisgerber):
  1875. # -ltermlib removed (presumably because -lcurses==ncurses already includes it)
  1876. # -DUSE_UU_LOCK and -lutil added for uu_lock()
  1877. # -DNDSYSERRLIST changed to -DUSE_STRERROR
  1878. #If this gives you trouble use the previous entry.
  1879. openbsd+ssl:
  1880. @echo Making C-Kermit $(CKVER) for OpenBSD 3.0 or later...
  1881. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1882. "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1883. -DHERALD=\"\\\" OpenBSD `uname -r`\\\"\" \
  1884. -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR -DCK_AUTHENTICATION \
  1885. -DCK_SSL $(KFLAGS) -O" \
  1886. "LIBS= -lcurses -lutil -lm -lssl -lcrypto"
  1887. mirbsd+ssl:
  1888. @echo Making C-Kermit $(CKVER) for OpenBSD 3.0 or later...
  1889. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1890. "CFLAGS= -DBSD44 -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET -DOPENBSD \
  1891. -DHERALD=\"\\\" MirBSD `uname -r`\\\"\" \
  1892. -DUSE_UU_LOCK -DFNFLOAT -DUSE_STRERROR -DCK_AUTHENTICATION \
  1893. -DCK_SSL -DNO_DCL_INET_ATON $(KFLAGS) -O" \
  1894. "LIBS= -lcurses -lutil -lm -lssl -lcrypto"
  1895. # make 386bsd 0.0new, posix
  1896. # for 386bsd 0.1.24, change /usr/include/termios.h to #define NCCS if
  1897. # _POSIX_SOURCE is #defined. (source: lewine, posix prgmrs guide, o`reilly)
  1898. #NOTE: Lock directory is /var/spool/lock. Formerly, it was /var/spool/uucp,
  1899. #but reportedly <wjones@halcyon.com> that was due to a typo in 'man tip'.
  1900. 386bsd:
  1901. @echo 'Making C-Kermit $(CKVER) for jolix 386BSD 0.0new and 0.1.24...'
  1902. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1903. "CFLAGS= -DPOSIX -DSETREUID -DPIDSTRING -DUSLEEP \
  1904. -D_386BSD -DCK_CURSES -DTCPSOCKET \
  1905. -DLOCK_DIR=\\\"/var/spool/lock\\\" \
  1906. $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
  1907. # Mac OS X 10 early versions.
  1908. # For 10.3.9 and later, use the macosx target below.
  1909. #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP but no curses.
  1910. oldmacosx10:
  1911. @echo Making C-Kermit $(CKVER) for `uname -s`...
  1912. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1913. "CFLAGS= -DMACOSX10 -DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
  1914. #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and curses.
  1915. #Note: curses must be obtained separately. See next entry for ncurses.
  1916. #Add "LIBS = -lcurses -ltermcap" if necessary (but reportedly it is not).
  1917. oldmacosx10c:
  1918. @echo Making C-Kermit $(CKVER) for `uname -s` + curses...
  1919. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1920. "CFLAGS= -DMACOSX10 -DCK_CURSES -DTPUTSFNTYPE=void -DTPUTSISVOID \
  1921. -DTCPSOCKET -DUSE_STRERROR -O $(KFLAGS)"
  1922. #Mac OS X 1.0 (Rhapsody, Darwin) -- TCP/IP and ncurses.
  1923. #Note: ncurses must be obtained separately.
  1924. #In the event of trouble with this one try the next one.
  1925. oldmacosx10nc:
  1926. @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1927. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1928. "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
  1929. $(KFLAGS)" "LIBS= -lncurses $(LIBS)"
  1930. #Mac OS X 10.2 (Jaguar) ncurses.
  1931. oldmacosx102nc:
  1932. @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1933. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1934. "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR -O \
  1935. $(KFLAGS) " "LIBS= -lncurses $(LIBS)"
  1936. #The problem here is that if curses.h also exists, it conflicts with
  1937. #ncurses.h and and we have fatal errors. If this happens to you, then
  1938. #try this target.
  1939. oldmacosx10ncx:
  1940. @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1941. @rm -f ./curses.h; touch ./curses.h
  1942. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1943. "CFLAGS= -DMACOSX10 -DCK_NCURSES -DTCPSOCKET -DUSE_STRERROR \
  1944. -I. -O $(KFLAGS) " \
  1945. "LIBS= -lncurses $(LIBS)"
  1946. @rm -f ./curses.h
  1947. #Mac OS X 10.3 (Panther) - Assumes ncurses is installed.
  1948. oldmacosx103:
  1949. @echo Making C-Kermit $(CKVER) for `uname -s` + ncurses...
  1950. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1951. "CFLAGS= -DMACOSX10 -DMACOSX103 -DCK_NCURSES -DTCPSOCKET -DCKHTTP \
  1952. -DUSE_STRERROR -DUSE_NAMESER_COMPAT -O \
  1953. $(KFLAGS) " "LIBS= -lncurses -lresolv $(LIBS)"
  1954. #Mac OS X 10.3 (Panther) with Kerberos 5 and SSL, assumes ncurses is installed.
  1955. oldmacosx103+secure:
  1956. @echo Making Secure C-Kermit $(CKVER) for `uname -s` + ncurses...
  1957. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1958. "CFLAGS= -DMACOSX10 -DMACOSX103 -DCK_NCURSES -DTCPSOCKET \
  1959. -DUSE_STRERROR -DUSE_NAMESER_COMPAT -O -DCK_PAM \
  1960. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DZLIB \
  1961. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  1962. $(KFLAGS) " "LIBS= -lssl -lcrypto -lkrb5 -lcom_err \
  1963. -lk5crypto -lgssapi_krb5 -lpam -lncurses -lresolv $(LIBS)"
  1964. # THIS IS THE MAIN MAC OS X TARGET (the next one is for Kerberos/SSL builds).
  1965. # Use this target for 10.3.9 (or maybe earlier) through 10.6 (maybe later)
  1966. # on both Power and Intel architectures. This one uses utmp.h on 10.4 and
  1967. # earlier and utmpx.h on 10.5 onwards.
  1968. # Note: Mac OS X 10.5 and earlier are 32-bit; 10.6 and later 64-bit.
  1969. # Note 2: As of C-Kermit 9.0 -DNOUUCP is included by default because
  1970. # Mac OS X doesn't support UUCP. To undo this, use KFLAGS=-UNOUUCP.
  1971. #OK: 2011/06/14 (for 10.4.11, 10.5.8, 10.6.7)
  1972. macosx macosx10 macosx10.3.9 macosx10.4 macosx10.5 macosx10.6:
  1973. @MACOSNAME=`/usr/bin/sw_vers -productName`; \
  1974. MACOSV=`/usr/bin/sw_vers -productVersion`; \
  1975. echo Making C-Kermit $(CKVER) for $$MACOSNAME $$MACOSV... ; \
  1976. MACCPU=$$HOSTTYPE; \
  1977. if test `uname -r | cut -d . -f 1` -gt 8; \
  1978. then if test -f /usr/include/utmpx.h ; \
  1979. then HAVE_UTMPX='-DHAVEUTMPX -D_UTMPX_COMPAT' ; \
  1980. else HAVE_UTMPX='' ; fi ; fi; \
  1981. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  1982. "CFLAGS= -DMACOSX10 -DMACOSX103 -DCK_NCURSES -DTCPSOCKET -DCKHTTP \
  1983. -DUSE_STRERROR -DUSE_NAMESER_COMPAT -DNOCHECKOVERFLOW -DFNFLOAT \
  1984. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $$HAVE_UTMPX \
  1985. -funsigned-char -DNODCLINITGROUPS \
  1986. -DNOUUCP -O -DHERALD=\"\\\" $${MACOSNAME} $${MACOSV}\\\"\" \
  1987. -DCKCPU=\"\\\"$${MACCPU}\\\"\" \
  1988. $(KFLAGS)" "LIBS= -lncurses -lresolv $(LIBS)"
  1989. # Mac OS X 10.3.9 or later with Kerberos 5 and OpenSSL...
  1990. # NOTE: Apple has removed all support for DES in OpenSSL and Kerberos
  1991. # in Mac OS X 10.6 and later. The DES flags are included or left out
  1992. # automatically based on the Mac OS X version number.
  1993. # See note about UUCP in previous target.
  1994. #OK: 2009/11/16 (for 10.3.9, 10.4.11, 10.5.8, 10.6.1)
  1995. #OK: 2011/06/14 (for 10.4.11, 10.5.8, 10.6.7)
  1996. macosx+krb5+ssl macosx10.5+krb5+ssl macosx10.6+krb5+ssl \
  1997. macosx+krb5+openssl macosx10.5+krb5+openssl macosx10.6+krb5+openssl:
  1998. @MACOSNAME=`/usr/bin/sw_vers -productName`; \
  1999. MACOSV=`/usr/bin/sw_vers -productVersion`; \
  2000. echo Making C-Kermit $(CKVER) for $$MACOSNAME $$MACOSV... ; \
  2001. MACCPU=$$HOSTTYPE; \
  2002. if test `uname -r | cut -d . -f 1` -gt 8; \
  2003. then if test -f /usr/include/utmpx.h ; \
  2004. then HAVE_UTMPX='-DHAVEUTMPX -D_UTMPX_COMPAT' ; \
  2005. else HAVE_UTMPX='' ; fi ; fi; \
  2006. if test `uname -r | cut -d . -f 1` -eq 7; \
  2007. then IS_MACOSX103='-DMACOSX103' ; \
  2008. else IS_MACOSX103='' ; fi; \
  2009. case $$MACOSV in \
  2010. 10.[012345].*) HAVE_DES='-DCK_DES -DLIBDES' ;; \
  2011. *.*) HAVE_DES='' ;; \
  2012. esac ; \
  2013. if test -x /usr/bin/krb5-config ; \
  2014. then HAVE_KRB5CONFIG=`/usr/bin/krb5-config --libs krb5 gssapi` ; \
  2015. else HAVE_KRB5CONFIG='-lgssapi_krb5 -lkrb5 -lk5crypto \
  2016. -lcom_err -lresolv' ; fi; \
  2017. $(MAKE) CC=$(CC) CC2=$(CC2) xermit KTARGET=$${KTARGET:-$(@)} \
  2018. "CFLAGS= -DMACOSX10 $$IS_MACOSX103 -DCK_NCURSES -DTCPSOCKET \
  2019. -DUSE_STRERROR -DUSE_NAMESER_COMPAT -DNOCHECKOVERFLOW -DFNFLOAT \
  2020. -DCKHTTP -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $$HAVE_UTMPX \
  2021. -DNODCLINITGROUPS -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DZLIB \
  2022. -DCK_ENCRYPTION -DCK_CAST -DCK_SSL -DOPENSSL_098 $$HAVE_DES \
  2023. -DNOUUCP -DHERALD=\"\\\" $${MACOSNAME} $${MACOSV}\\\"\" \
  2024. -DCKCPU=\"\\\"$${MACCPU}\\\"\" \
  2025. -funsigned-char -O $(KFLAGS)" \
  2026. "LIBS= $$HAVE_KRB5CONFIG -lssl -lcrypto -lpam -lncurses $(LIBS)"
  2027. # End of Mac OS X Section
  2028. #Acorn RISCiX, based on ...
  2029. #Berkeley Unix 4.2 or 4.3 with lock directory /usr/spool/uucp/LCK/LCK..ttyxx,
  2030. #but without acucntrl program
  2031. riscix:
  2032. @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
  2033. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2034. "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
  2035. -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
  2036. -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
  2037. -DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
  2038. -DNOANSI -w -O2 -fomit-frame-pointer" \
  2039. "LIBS= -lcurses -ltermcap " \
  2040. "CC= /usr/ucb/cc" \
  2041. "CC2= /usr/ucb/cc"
  2042. #Acorn RISCiX, as above, but using gcc
  2043. riscix-gcc:
  2044. @echo Making C-Kermit $(CKVER) for RISCiX, /usr/spool/uucp/LCK..ttyxx
  2045. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2046. "CFLAGS= -DBSD42 -DBSD4 -DRISCIX -DNOCSETS \
  2047. -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DDIRENT -DCK_CURSES \
  2048. -DMAXSP=9024 -DMAXRD=9024 -DSBSIZ=9050 -DRBSIZ=9050 \
  2049. -DDFTTY=\\\"/dev/serial\\\" -DNOCSETS -DNOCYRIL \
  2050. -DNOANSI -w -O2 -fomit-frame-pointer" \
  2051. "LIBS= -lcurses -ltermcap " \
  2052. "CC= gcc -mbsd" \
  2053. "CC2= gcc -mbsd"
  2054. #Convergent CTIX 6.4.1
  2055. ctix:
  2056. @echo 'Making C-Kermit $(CKVER) for Convergent CTIX 6.4.1'
  2057. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2058. "CFLAGS= -DSVR3 -DDIRENT -DTCPSOCKET -DHDBUUCP -DCK_CURSES \
  2059. -DNONAWS -DNOLEARN -DNOLONGLONG $(KFLAGS) -XO" \
  2060. "LNKFLAGS=-s" "LIBS=-lsocket -lcurses -lc_s"
  2061. mcs -d wermit
  2062. # The following makefile entry should work for any Harris Night Hawk system
  2063. # (either 88k or 68k based) running release 6.1 or later of the CX/UX
  2064. # operating system. This is a POSIX and ANSI-C compliant system which also
  2065. # supports BSD networking. (Earlier CX/UX releases will probably work with
  2066. # sys5r3, but this has not been verified).
  2067. #
  2068. cx_ux:
  2069. @echo Making C-Kermit $(CKVER) for Harris Night Hawk CX/UX 6.1 or later
  2070. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2071. "CFLAGS=-DPOSIX -DTCPSOCKET -DHDBUUCP -DPID_T=pid_t -DWAIT_T=int \
  2072. -Dd_ino=d_fileno -DUID_T=uid_t -DGID_T=gid_t -DNOLONGLONG \
  2073. $(KFLAGS) -Xa -O3 -g" "LNKFLAGS=-O3"
  2074. #Intergraph Clipper, CLIX, job control, HDB UUCP.
  2075. clix:
  2076. @echo 'Making C-Kermit $(CKVER) for Intergraph CLIX...'
  2077. $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
  2078. "CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
  2079. -DNOGETUSERSHELL -DNOREALPATH -DNOLEARN $(KFLAGS) -O" \
  2080. "LNKFLAGS=" "LIBS= -lbsd"
  2081. #As above + TCP/IP...
  2082. clixnet:
  2083. @echo 'Making networked C-Kermit $(CKVER) for Intergraph CLIX...'
  2084. $(MAKE) wermit "CC=acc" "CC2=acc" KTARGET=$${KTARGET:-$(@)} \
  2085. "CFLAGS= -w -DSVR3 -DCLIX -DDIRENT -DHDBUUCP -DNOSYSLOG -DUSE_MEMCPY \
  2086. -DTCPSOCKET -DNOGETUSERSHELL -DNOLEARN -DNOREALPATH $(KFLAGS) -O" \
  2087. "LNKFLAGS=" "LIBS= -lbsd"
  2088. #Mark Williams Coherent 286 or 386 on IBM PC family.
  2089. #There is a 64K limit on program size, so this is a command-line only version.
  2090. coherent:
  2091. $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOICP -DNOSETKEY -DNOLEARN \
  2092. -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG -DNOXMIT \
  2093. -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DSELECT_H $(KFLAGS) -VSUVAR" \
  2094. -DNOFLOAT KTARGET=$${KTARGET:-$(@)} wermit
  2095. #Mark Williams Coherent 386 on IBM PC family.
  2096. #This will make a "minimum interactive" version - no scripts,
  2097. #no character sets, no help, no dial, no debug/transaction logging, no
  2098. #transmit, msend, mail, type, etc.
  2099. coherentmi:
  2100. $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DNOSETKEY -DNOLEARN \
  2101. -DNOSHOW -DNOCSETS -DNOHELP -DNODIAL -DNOSCRIPT -DNODEBUG -DNOTLOG \
  2102. -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSYSIOCTLH -DNOSERVER -DNOUUCP \
  2103. -DNOSPL -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ -DNOFLOAT \
  2104. -DNOCMDL $(KFLAGS) -VSUVAR -DSELECT_H" KTARGET=$${KTARGET:-$(@)} \
  2105. wermit
  2106. #Mark Williams Coherent 386 on IBM PC/AT family.
  2107. coherentmax:
  2108. $(MAKE) "CFLAGS = -O -DCOHERENT -DNOANSI -DSELECT_H -DNOLEARN \
  2109. -DNOFLOAT -DNOSYSIOCTLH $(KFLAGS) -VSUVAR" "LNKFLAGS = -O -s" \
  2110. KTARGET=$${KTARGET:-$(@)} wermit
  2111. #Mark Williams Coherent 386 4.2. Includes curses but not TCP/IP.
  2112. #Requires updates to the 4.2.10 compiler; the regular compiler fails to
  2113. #to handle "complex expressions". NOFLOAT is so it can work on old PCs
  2114. #without floating-point hardware.
  2115. coherent42:
  2116. $(MAKE) "CFLAGS = -T500000 -DNOFLOAT -DCOHERENT -DNOANSI -DSELECT \
  2117. -DNOSYSLOG -DDIRENT -DCK_CURSES -DCK_NEWTERM -DCK_WREFRESH -VSUVAR \
  2118. -DDCLGETCWD -DNOSYSIOCTLH -DNOINITGROUPS -DNOSYMLINK -DSELECT_H \
  2119. -DDCLGETCWD -O $(KFLAGS)" \
  2120. "LNKFLAGS = -O -s" KTARGET=$${KTARGET:-$(@)} \
  2121. "LIBS = -lsocket -lcurses" wermit
  2122. #DEC Ultrix 2.x
  2123. # Add -O, -DDYNAMIC, -s, etc, if they work.
  2124. ultrix2x:
  2125. @echo Making C-Kermit $(CKVER) for Ultrix 2.x ...
  2126. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2127. "CFLAGS= -DBSD4 -DTCPSOCKET -DDU2 -DNOGETUSERSHELL $(KFLAGS)"
  2128. du2:
  2129. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix2x
  2130. #DEC Ultrix 3.0 and 3.1
  2131. ultrix30:
  2132. @echo Making C-Kermit $(CKVER) for Ultrix 3.0...
  2133. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2134. "CFLAGS= -DBSD4 -DTCPSOCKET -DDIRENT -DSIG_V -DNOGETUSERSHELL \
  2135. -DULTRIX3 -DCK_CURSES $(KFLAGS) -O" "LIBS= -lcurses -ltermcap"
  2136. du3:
  2137. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
  2138. ultrix3x:
  2139. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix30
  2140. #DEC Ultrix 4.0 or 4.1 on DECstation, VAXstation, VAX, etc.
  2141. ultrix40:
  2142. @echo Making C-Kermit $(CKVER) for Ultrix 4.0 or 4.1...
  2143. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2144. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DDU4 -DNOGETUSERSHELL \
  2145. $(KFLAGS) -Olimit 1450" "LNKFLAGS = -s"
  2146. #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
  2147. #Like ultrix40, except now C compiler supports -O2 optimization.
  2148. ultrix42:
  2149. @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
  2150. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2151. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL $(KFLAGS) \
  2152. -O2 -Olimit 1750" "LNKFLAGS = -s"
  2153. du42:
  2154. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET-$(@)} ultrix42
  2155. #DEC Ultrix 4.2-4.5 on DECstation, DECsystem, VAXstation, VAX, etc.
  2156. #Like du42, but with curses support added and a couple features.
  2157. ultrix42c:
  2158. @echo Making C-Kermit $(CKVER) for Ultrix 4.2 or later...
  2159. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2160. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  2161. -DCK_CURSES -DNOIKSD $(KFLAGS)-G6 -O2 -Olimit 3000 " \
  2162. "LNKFLAGS = -s" "LIBS= -lcurses -ltermcap"
  2163. ultrix43:
  2164. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2165. "KFLAGS=-DULTRIX43 $(KFLAGS)" KTARGET=$${KTARGET-$(@)} ultrix42c
  2166. ultrix43notcp:
  2167. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2168. "KFLAGS=-DULTRIX43 -DNONET $(KFLAGS)" \
  2169. KTARGET=$${KTARGET-$(@)} ultrix42c
  2170. # NOTE: need -DNODEBUG on MIPS to avoid relocation errors at link time.
  2171. # Actually now (8.0) that we have discovered the -G option maybe debugging
  2172. # can be put back.
  2173. ultrix44:
  2174. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2175. "KFLAGS=-DULTRIX44 -G7 -DNODEBUG -DNETPTY -DNO_DEVTTY $(KFLAGS)" \
  2176. KTARGET=$${KTARGET-$(@)} ultrix42c
  2177. ultrix45:
  2178. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2179. "KFLAGS=-DULTRIX45 $(KFLAGS)-DNETPTY -DNO_DEVTTY $(KFLAGS)" \
  2180. KTARGET=$${KTARGET-$(@)} ultrix42c
  2181. du42c:
  2182. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2183. KTARGET=$${KTARGET-$(@)} ultrix42c
  2184. #DEC Ultrix 4.3A or later on DECsystem and DECstation 5000/50, /150 or /260
  2185. #with MIPS R4x00 processor. The "-mips3" switch generates R4000-specific
  2186. #code, which is faster and more compact, but *won't* run on earlier
  2187. #DECsystems and DECstations.
  2188. ultrix43-mips3:
  2189. @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
  2190. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2191. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  2192. $(KFLAGS) -O2 -Olimit 1750 -mips3" "LNKFLAGS = -s -mips3"
  2193. du43-mips3:
  2194. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) ultrix43-mips3
  2195. #DEC Ultrix 4.3A or later on MIPS R4x000 based systems.
  2196. #Like ultrix43-mips3 but with curses support added
  2197. ultrix43c-mips3:
  2198. @echo Making C-Kermit $(CKVER) for Ultrix 4.3A or later, R4000 cpu...
  2199. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2200. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL -DCK_CURSES \
  2201. $(KFLAGS) -O2 -Olimit 3000 -mips3" "LNKFLAGS = -s -mips3" \
  2202. "LIBS= -lcurses -ltermcap"
  2203. du43c-mips3:
  2204. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2205. KTARGET=$${KTARGET-$(@)} ultrix43c-mips3
  2206. #DEC Ultrix 4.4 on DECstation 5000/50 or /150 with R4000 MIPS processor,
  2207. #or 5000/260 with R4400. The "-mips3" switch generates R4000-specific code,
  2208. #which is faster and more compact but *won't* run on earlier DECstations.
  2209. ultrix44-mips3:
  2210. @echo Making C-Kermit $(CKVER) for Ultrix 4.4, R4000 cpu ...
  2211. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2212. "CFLAGS= -DBSD4 -DTCPSOCKET -DSIG_V -DNOGETUSERSHELL \
  2213. $(KFLAGS) -O2 -Olimit 1450 -mips3" "LNKFLAGS = -s -mips3"
  2214. du44-mips3:
  2215. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2216. KTARGET=$${KTARGET-$(@)} ultrix44c-mips3
  2217. #DEC Ultrix 4.2 on DECstation, VAXstation, VAX, etc, System V R4 environment
  2218. ultrix42s5r4:
  2219. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4 on Ultrix...'
  2220. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2221. "CFLAGS = -O2 -Olimit 1500 -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  2222. -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
  2223. #OSF/1
  2224. osf osf1:
  2225. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2226. "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  2227. -DCK_CURSES -DCK_RTSCTS -DFNFLOAT $(KFLAGS)" \
  2228. "LNKFLAGS = -s" "LIBS = $(LIBS) -lbsd -lcurses -ltermcap -lm"
  2229. #DEC OSF/1 V1.0-1.3 on DECstation, VAX, Alpha, or PC.
  2230. dec-osf dec-osf1:
  2231. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2232. "CFLAGS= -DBSD4 -DOSF -DOSF13 -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  2233. -DNOREALPATH -DNOIKSD -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DNODEBUG \
  2234. -DNOUNICODE $(KFLAGS)" \
  2235. "LNKFLAGS = -non_shared" "LIBS = -lbsd -lcurses -ltermcap -lm"
  2236. # This one causes "relocation out-of-range" errors in the linker.
  2237. old-dec-osf:
  2238. @echo Making C-Kermit $(CKVER) for DEC OSF/1 V1.x...
  2239. @echo If you are building for DEC OSF/1 2.0, please use dec-osf20.
  2240. @echo Remove or adjust -O2 and/or -Olimit if they cause trouble.
  2241. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2242. "KFLAGS= -O2 -Olimit 2400 $(KFLAGS)"
  2243. #DEC OSF/1 2.0 on Alpha and probably nowhere else.
  2244. #The only difference from OSF/1 is that optimization is omitted.
  2245. #The optimized version gets strange runtime errors, like the PAUSE command
  2246. #not working. Add "-unsigned" to make all chars unsigned.
  2247. dec-osf20:
  2248. @echo Making C-Kermit $(CKVER) for DEC OSF/1 V2.0...
  2249. @echo Optimization omitted because it causes runtime errors.
  2250. @echo See comments in makefile.
  2251. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2252. "KFLAGS= -DOSF20 $(KFLAGS)"
  2253. dec-osf30:
  2254. @echo Making C-Kermit $(CKVER) for DEC OSF/1 V3.0...
  2255. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2256. "KFLAGS= -DOSF30 -O2 -Olimit 2400 $(KFLAGS)"
  2257. #Digital UNIX 3.2
  2258. # Must compile ckuus[6x].c separately without optimization otherwise
  2259. # the optimizer dumps core - keep CFLAGS here in sync with those from osf.
  2260. du32:
  2261. @echo Making C-Kermit $(CKVER) for Digital UNIX 3.2...
  2262. $(MAKE) CC=$(CC) CC2=$(CC2) ckuus6.$(EXT) \
  2263. "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  2264. -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
  2265. $(MAKE) CC=$(CC) CC2=$(CC2) ckuusx.$(EXT) \
  2266. "CFLAGS= -DBSD4 -DOSF -D_BSD -DTCPSOCKET -DCK_ANSIC -DSIG_V \
  2267. -DCK_CURSES -DCK_RTSCTS -DFNFLOAT -DOSF32 -DHDBUUCP $(KFLAGS)"
  2268. $(MAKE) CC=$(CC) CC2=$(CC2) osf \
  2269. "KFLAGS= -DOSF32 -DHDBUUCP -O2 -Olimit 3200 $(KFLAGS)"
  2270. dec-osf32:
  2271. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) du32 \
  2272. KTARGET=$${KTARGET:-$(@)}
  2273. #Digital UNIX 4.0 through 4.0D (use tru64 targets for 4.0E and above)...
  2274. du40:
  2275. @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0...
  2276. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2277. "KFLAGS= -DOSF40 -DHDBUUCP -DFNFLOAT \
  2278. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  2279. du40gcc:
  2280. @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0 with gcc ...
  2281. $(MAKE) osf CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  2282. "KFLAGS= -DOSF40 -DHDBUUCP $(KFLAGS)"
  2283. #Tru64 Unix 4.0E
  2284. tru64-40e:
  2285. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0E...
  2286. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2287. "KFLAGS= -DOSF40 -DOSF40E -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
  2288. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  2289. tru64-40f:
  2290. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0F...
  2291. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2292. "KFLAGS= -DOSF40 -DOSF40F -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
  2293. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  2294. tru64-40g:
  2295. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 4.0G...
  2296. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2297. "KFLAGS= -DOSF40 -DOSF40G -DTRU64 -DHDBUUCP -DFNFLOAT -DNOCOTFMC \
  2298. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)" "LIBS=-lm"
  2299. tru64-50a:
  2300. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.0A...
  2301. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2302. "KFLAGS= -DTRU64 -DOSF50 -DHDBUUCP \
  2303. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
  2304. tru64-51a:
  2305. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1A...
  2306. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2307. "KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DHDBUUCP \
  2308. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
  2309. tru64-51b:
  2310. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1B...
  2311. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2312. "KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DOSF51B -DHDBUUCP \
  2313. -unsigned -std1 -O3 -Olimit 2400 $(KFLAGS)"
  2314. # Added 5.1b version with OpenSSL - CDW 6-13-2005...
  2315. tru64-51b+openssl:
  2316. @echo Making C-Kermit $(CKVER) for Tru64 UNIX 5.1b
  2317. @echo including OpenSSL...
  2318. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2319. "KFLAGS= -DTRU64 -DOSF50 -DOSF51A -DOSF51B -DHDBUUCP \
  2320. -unsigned -std1 -O3 -Olimit 2400 \
  2321. -DCK_AUTHENTICATION -DCK_SSL $(SSLINC) $(KFLAGS)" \
  2322. "LIBS= $(SSLLIB) -rpath $(sslroot)/ssl/lib -lssl -lcrypto"
  2323. du50:
  2324. $(MAKE) CC=$(CC) CC2=$(CC2) tru64-50a KTARGET=$${KTARGET:-$(@)}
  2325. du40-ridiculous-checking:
  2326. @echo Making C-Kermit $(CKVER) for Digital UNIX 4.0.
  2327. @echo Checking everything - assumes DECC...
  2328. $(MAKE) CC=$(CC) CC2=$(CC2) osf KTARGET=$${KTARGET:-$(@)} \
  2329. "KFLAGS= -DOSF40 -DHDBUUCP -w0 -warnprotos -check -portable \
  2330. -unsigned -std1 -O3 -Olimit 1760 $(KFLAGS)"
  2331. #Sequent DYNIX/ptx 1.2.1
  2332. dynixptx12:
  2333. @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.2.1...
  2334. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2335. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DNOGETUSERSHELL -DNOLEARN \
  2336. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t $(KFLAGS) -i -O" \
  2337. "LNKFLAGS = -i"
  2338. #Sequent DYNIX/ptx 1.3 or 1.4
  2339. dynixptx13:
  2340. @echo Making C-Kermit $(CKVER) for Sequent DYNIX/ptx 1.3 TCP/IP...
  2341. $(MAKE) xermit "CFLAGS= -O KTARGET=$${KTARGET:-$(@)} \
  2342. -DSVR3 -DDIRENT -DHDBUUCP -DPTX -DCK_POLL -DNOGETUSERSHELL \
  2343. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DTCPSOCKET $(KFLAGS) -i" \
  2344. "LNKFLAGS = -i" "LIBS = -lsocket -linet -lnsl"
  2345. #Sequent DYNIX/ptx 2.0, ANSI C compilation
  2346. #Should work on any hardware platform when DYNIX/ptx runs, including
  2347. #386, 486, Pentium.
  2348. dynixptx20:
  2349. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
  2350. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2351. "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
  2352. -DWAIT_T=int -DPTX -DNOGETUSERSHELL $(KFLAGS) -O" \
  2353. "LIBS = -lsocket -linet -lnsl"
  2354. #Sequent DYNIX/ptx 2.0, ANSI C compilation, with curses
  2355. dynixptx20c:
  2356. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.0...'
  2357. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2358. "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int -DPTX -DCK_CURSES \
  2359. -DCK_NEWTERM -DNOGETUSERSHELL $(KFLAGS) -O" \
  2360. "LIBS = -lsocket -linet -lnsl -lcurses -ltermcap"
  2361. #Sequent DYNIX/ptx 2.1.6, 80486, ANSI C compilation, with curses:
  2362. # -Xa -- use ANSI compiler.
  2363. # -Wc,-pw -- suppress portability warnings.
  2364. # -Wc,-i386 -- 80386 cpu.
  2365. # -Wc,-i486 -- 80486 cpu.
  2366. # -Wc,-P5 -- Pentium (default).
  2367. # -Wc,-O3 -- highest optimization.
  2368. # -Wa,-N17061 -- increase symbol table from default of 15013 for ckcuni.c.
  2369. # Early versions of DYNIX/ptx 2.1.x may need -DCK_POLL instead of -DSELECT.
  2370. # Add "$&" after the colon in the "xermit" target for parallel makes.
  2371. dynixptx216c:
  2372. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6'
  2373. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2374. "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
  2375. -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
  2376. -DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
  2377. -DPTX -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
  2378. $(KFLAGS) -Xa -Wc,-pw -Wc,-i486 -Wc,-O3 -Wa,-N17061" \
  2379. "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
  2380. "LNKFLAGS = -s"
  2381. #Sequent DYNIX/ptx 2.1.6, gcc 2.7.2.2, with curses:
  2382. dynixptx216cgcc:
  2383. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 2.1.6 gcc'
  2384. $(MAKE) xermit "CC = gcc" "CC2 = gcc" KTARGET=$${KTARGET:-$(@)} \
  2385. "CFLAGS= -DPOSIX -DHDBUUCP -DDYNAMIC -DTCPSOCKET \
  2386. -DSELECT -DCK_REDIR -DCK_NAWS -DCK_WREFRESH -DSW_ACC_ID \
  2387. -DTCP_NODELAY=1 -DTRMBUFL=2048 -DBIGBUFOK -DHADDRLIST \
  2388. -DPTX -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL -DNOREALPATH \
  2389. $(KFLAGS) -O3 -pipe -funsigned-char" \
  2390. "LIBS = -lXbsd -lseq -lsocket -linet -lnsl -lmalloc -lm -lcurses" \
  2391. "LNKFLAGS = -s"
  2392. #Sequent DYNIX/ptx 4.0, ANSI C compilation, with curses
  2393. dynixptx41c:
  2394. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.0...'
  2395. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2396. "CFLAGS= -DPOSIX -DHDBUUCP -DTCPSOCKET \
  2397. -DWAIT_T=int -DPTX -DPTX4 -DCK_CURSES -DCK_NEWTERM \
  2398. -DNOGETUSERSHELL $(KFLAGS) -O" \
  2399. "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  2400. #Sequent DYNIX/ptx 4.4, ANSI C compilation, with curses
  2401. dynixptx44:
  2402. @echo 'Making C-Kermit $(CKVER) for POSIX, Sequent DYNIX/ptx 4.4...'
  2403. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2404. "CFLAGS= -DPTX -DPTX4 -DPOSIX -DHDBUUCP -DTCPSOCKET -DWAIT_T=int \
  2405. -DCK_CURSES -DCK_NEWTERM -DBIGBUFOK -DSELECT -DNOGETUSERSHELL \
  2406. $(KFLAGS) -O" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  2407. #Sequent DYNIX 3.0.x
  2408. dynix3:
  2409. @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
  2410. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2411. "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O \
  2412. -DPWUID_T=int -DGID_T=int $(KFLAGS)"
  2413. #Sequent DYNIX 3.0.x, no ACUCNTRL
  2414. dynix3noacu:
  2415. @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.0.x...
  2416. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2417. "CFLAGS= -DBSD43 -DLCKDIR -DTCPSOCKET -O \
  2418. -DUID_T=int -DGID_T=int $(KFLAGS)"
  2419. #Sequent DYNIX 3.1.x
  2420. dynix31:
  2421. @echo Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.x...
  2422. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2423. "CFLAGS= -O -DDCLPOPEN -DLCKDIR -DBSD4 -DTCPSOCKET $(KFLAGS)"
  2424. #Sequent DYNIX 3.1.2, as above but with curses, to be compiled by gcc 2.3.3.
  2425. dynix31c:
  2426. @echo 'Making C-Kermit $(CKVER) for Sequent DYNIX 3.1.2, curses...'
  2427. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2428. "CFLAGS= -O2 -DDCLPOPEN -DACUCNTRL \
  2429. -DBSD43 -DTCPSOCKET -DCK_CURSES -DUID_T=int \
  2430. $(KFLAGS)" "LIBS= -lcurses -ltermcap"
  2431. #Convex C1 with Berkeley Unix
  2432. convex:
  2433. @echo Making C-Kermit $(CKVER) for Convex C1 / BSD...
  2434. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2435. "CFLAGS= -DBSD4 -DNOLEARN $(KFLAGS) -Dmsleep=mnap"
  2436. #Convex C210 with Convex/OS 8
  2437. convex8:
  2438. @echo Making C-Kermit $(CKVER) for Convex C210 with OS 8
  2439. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2440. "CFLAGS= -DBSD4 -DTCPSOCKET -DNODEBUG -DDIRENT -DNOFILEH \
  2441. $(KFLAGS) -DSIG_V -Dmsleep=mnap"
  2442. #Convex C2 with Convex OS 9.1 (should also work with 8.1 or later)
  2443. #with ANSI C compiler, uses BSD 4.3 uucp lockfile convention.
  2444. convex9:
  2445. @echo Making C-Kermit $(CKVER) for Convex C210 with OS 9.1
  2446. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2447. "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
  2448. -D__STDC__ -DLCKDIR -Dmsleep=mnap -O -ext -tm c1 $(KFLAGS)" \
  2449. "LNKFLAGS = -ext"
  2450. #Convex C2 with Convex OS 10.1 or later
  2451. #with gcc 2.x C compiler
  2452. convex10gcc:
  2453. @echo Making C-Kermit $(CKVER) for Convex C2 with OS 10.1 using gcc
  2454. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2455. "CFLAGS= -DPOSIX -DCONVEX9 -DNOIEXTEN -DDIRENT -DNOFILEH -DTCPSOCKET \
  2456. -D__STDC__ -Dmsleep=mnap -O2 $(KFLAGS)" CC=gcc CC2=gcc
  2457. #Cray X-MP or Y-MP UNICOS 6.x or 7.x.
  2458. #NOTE: NPROC tells how many parallel makes to run. If your Cray has multiple
  2459. #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
  2460. cray:
  2461. @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 6.x or 7.0...
  2462. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  2463. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
  2464. #Cray X-MP or Y-MP UNICOS 8.0 Alpha.
  2465. cray8:
  2466. @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 8.0 Alpha...
  2467. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  2468. "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS) -O1"
  2469. #Cray X-MP or Y-MP UNICOS 9.0.
  2470. #This one was executed successfully for C-Kermit 8.0.209.
  2471. #Earlier versions of Unicos will probably need the same flags.
  2472. cray9:
  2473. @echo 'Making C-Kermit $(CKVER) for Cray X/Y-MP UNICOS 9.0...
  2474. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  2475. "CFLAGS= -DSVR4 -DDIRENT -DHDBUUCP -DNOLFDEVNO \
  2476. -DTCPSOCKET $(KFLAGS) -O1"
  2477. #Cray-2 or Cray 3-CSOS
  2478. #NOTE: NPROC tells how many parallel makes to run. If your Cray has multiple
  2479. #processors, you can set NPROC up to the number of CPUs, e.g. NPROC=16.
  2480. craycsos:
  2481. @echo 'Making C-Kermit $(CKVER) for Cray-2/3 CSOS
  2482. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} NPROC=1 \
  2483. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET \
  2484. $(KFLAGS) -DCK_ANSIC -DCK_CURSES" "LIBS=-lnet"
  2485. #NeXTSTEP 1.0 through 3.2.
  2486. #Includes fullscreen file transfer display (curses) and TCP/IP support.
  2487. #Uses shared library to make executable program about 80K smaller.
  2488. #Remove "LIBS = -lsys_s" if this causes trouble.
  2489. next:
  2490. @echo Making C-Kermit $(CKVER) for NeXTSTEP...
  2491. @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
  2492. @echo 'add KFGLAGS=-DNOREDIRECT to your make command.'
  2493. $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  2494. "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  2495. -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
  2496. nextc:
  2497. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
  2498. KTARGET=$${KTARGET:-$(@)}
  2499. nextg:
  2500. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
  2501. KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
  2502. nextgc:
  2503. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
  2504. KFLAGS=-Wall KTARGET=$${KTARGET:-$(@)}
  2505. #NeXTSTEP 3.3.
  2506. #Includes fullscreen file transfer display and TCP/IP.
  2507. # You might have to add 1 line to 1 NeXT header file <ip.h>
  2508. # to declare n_long as u_long by adding #include <bsd/netinet/in_systm.h>
  2509. next33:
  2510. @echo Making C-Kermit $(CKVER) for NeXTSTEP 3.3...
  2511. $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  2512. "CFLAGS= -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  2513. -pipe -DCK_CURSES $(KFLAGS) -O -w" "LIBS = -lsys_s -lcurses -ltermcap"
  2514. #OPENSTEP 4.2 for Sparc, m680x0, HP PA-RISC, and Intel.
  2515. #Includes fullscreen file transfer display and TCP/IP.
  2516. #ckcpro.c compiled without optimization because it crashes the compiler.
  2517. openstep42:
  2518. @echo Making C-Kermit $(CKVER) for OPENSTEP 4.2...
  2519. $(MAKE) ckcpro.$(EXT) \
  2520. "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
  2521. -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -w"
  2522. $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  2523. "CFLAGS= -DOPENSTEP42 -DNEXT33 -DTCPSOCKET -DLCKDIR -DNOPUTENV \
  2524. -DFNFLOAT -pipe -DCK_CURSES $(KFLAGS) -O -w" \
  2525. "LIBS = -lsys_s -lcurses -ltermcap"
  2526. #NeXT with malloc debugger
  2527. nextmd:
  2528. @echo Making C-Kermit $(CKVER) for NeXT with malloc debugging...
  2529. $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
  2530. "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  2531. -DCK_CURSES $(KFLAGS) -O -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
  2532. "LIBS = -lsys_s -lcurses -ltermcap"
  2533. #Build for NeXTSTEP with "fat" binaries (MABs) that run on both Motorola
  2534. #and Intel platforms.
  2535. nextfat:
  2536. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) \
  2537. next KTARGET=$${KTARGET:-$(@)} \
  2538. "KFLAGS=-Wall -arch m68k -arch i386" "LNKFLAGS = -arch m68k -arch i386"
  2539. #NeXTSTEP on Intel Platforms.
  2540. next486:
  2541. @echo Making C-Kermit $(CKVER) for NeXTSTEP on Intel Platforms...
  2542. @echo 'If you get errors in ckutio.c about w_S, w_T, etc,'
  2543. @echo 'add KFGLAGS=D-DNOREDIRECT to your make command.'
  2544. $(MAKE) xermit CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)} \
  2545. "CFLAGS= -DNEXT -DTCPSOCKET -DLCKDIR -DNOPUTENV -DFNFLOAT \
  2546. -DNODEBUG -O3 -fno-omit-frame-pointer -fschedule-insns2 -pipe \
  2547. -DCK_CURSES $(KFLAGS) -w" "LIBS = -lsys_s -lcurses -ltermcap"
  2548. #Single binary that runs on NeXT 68030 and 68040, Intel, HP, and Sparc,
  2549. #as well as on OpenStep/Mach.
  2550. nextquadfat:
  2551. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) next \
  2552. KTARGET=$${KTARGET:-$(@)} \
  2553. "KFLAGS=-Wall -arch m68k -arch i386 -arch hppa -arch sparc" \
  2554. "LNKFLAGS = -arch m68k -arch i386 -arch hppa -arch sparc"
  2555. #BeBox
  2556. beboxdr7:
  2557. @echo 'Making C-Kermit $(CKVER) for the BeBox...'
  2558. @echo 'Link step will fail with default Metroworks linker 64K limit.'
  2559. @echo 'Code Warrior Gold required to link big programs.'
  2560. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2561. "CC=/boot/develop/tools/mwcc" "CC2=/boot/develop/tools/mwld" \
  2562. "CFLAGS= -DBEBOX -DBE_DR_7 -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
  2563. #BeBox BeOS DR7 only
  2564. bebox:
  2565. @echo 'Making C-Kermit $(CKVER) for BeBox...'
  2566. @echo 'Link step will fail with default Metroworks linker 64K limit.'
  2567. @echo 'Code Warrior Pro 3.0 for BeBox required to link big programs.'
  2568. $(MAKE) wermit "CC=mwcc" "CC2=mwld" KTARGET=$${KTARGET:-$(@)} \
  2569. "CFLAGS= -DBEBOX -DPOSIX -DNOLEARN -DNOUUCP $(KFLAGS) -O"
  2570. #BeOS 4.5
  2571. #We have to use the wermit target because 'fd_set' is unknown.
  2572. beos45:
  2573. $(MAKE) wermit "CC=$(CC)" "CC2=$(CC2)" KTARGET=$${KTARGET:-$(@)} \
  2574. "CFLAGS= -DBEOS -DBEOS45 -DPOSIX -DNOIKSD -DNOREALPATH -DSYSTIMEH \
  2575. -DNOCOTFMC -DNOUUCP -DNOLEARN $(KFLAGS) -O" \
  2576. "LIBS = $(LIBS)"
  2577. #BeOS 4.5
  2578. beos45net:
  2579. $(MAKE) CC=$(CC) CC2=$(CC2) beos45 \
  2580. "KFLAGS=-DTCPSOCKET -DNO_DNS_SRV $(KFLAGS)" "LIBS=-lnet -lnetapi"
  2581. #Plan 9 from Bell Labs
  2582. plan9:
  2583. @echo 'C-Kermit for Plan 9 from Bell Labs - calling ckpker.mk...'
  2584. make -f ckpker.mk
  2585. #POSIX
  2586. posix:
  2587. @echo 'Making C-Kermit $(CKVER) for pure POSIX...'
  2588. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2589. "CFLAGS= -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -O"
  2590. # PowerMAX OS (SVR4) from Concurrent (tested on PowerMAX 5.1)
  2591. powermax:
  2592. @echo 'Making C-Kermit $(CKVER) for Concurrent PowerMAX OS...'
  2593. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2594. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DPOWERMAX \
  2595. -DNETPTY -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
  2596. -DPUSH_LDTERM -DPUSH_TTCOMPAT \
  2597. -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
  2598. "LIBS= -lsocket -lnsl -lresolv -lcurses -lgen -lc -lucbc"
  2599. #Berkeley Software Design Inc. BSDI
  2600. # Substitute "LIBS= -lnewcurses -ltermcap" if desired.
  2601. bsdi:
  2602. @echo 'Making C-Kermit $(CKVER) for BSDI ...'
  2603. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2604. "CFLAGS= -DBSD44 -DSETREUID -DSW_ACC_ID -DBIGBUFOK -DFIXCRTSCTS \
  2605. -DTCPSOCKET -DCK_CURSES -DFNFLOAT $(KFLAGS) -O" \
  2606. "LIBS= -lcurses -ltermcap -lm"
  2607. #Berkeley Software Design Inc. BSDI - has higher serial speeds than 1.x.
  2608. bsdi2:
  2609. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
  2610. KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 $(KFLAGS)"
  2611. bsdi3:
  2612. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
  2613. KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DBSDI2 -DBSDI3 $(KFLAGS)"
  2614. bsdi4:
  2615. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
  2616. KTARGET=$${KTARGET:-$(@)} \
  2617. "KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
  2618. -DCKHTTP -m486 $(KFLAGS)"
  2619. # (old name for the above)
  2620. bsdiposix:
  2621. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi
  2622. #Build a BSDI 4.x binary that also runs under FreeBSD (Terry Kennedy).
  2623. #But watch out for details like serial-port locking.
  2624. bsdix:
  2625. $(MAKE) "MAKE=$(MAKE)" CC=$(CC) CC2=$(CC2) bsdi \
  2626. KTARGET=$${KTARGET:-$(@)} \
  2627. "KFLAGS=-DBSDI2 -DBSDI3 -DBSDI4 -DTPUTSFNTYPE=void -DTPUTSISVOID \
  2628. -m486 $(KFLAGS)" "LNKFLAGS=-static -Wl,-m,i386bsdi -Wl,-e,_start"
  2629. #Pyramid 9XXX (e.g. 9845) or MIServer T series, OSx 4.4b thru 5.1
  2630. pyramid:
  2631. @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
  2632. ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2633. "CFLAGS= -DBSD43 -DTCPSOCKET -DPYRAMID -O $(KFLAGS)" "LNKFLAGS = -s"
  2634. #Pyramid Dual Port OSx using HoneyDanBer UUCP, curses and TCP
  2635. pyramid-hdb:
  2636. @echo Making C-Kermit $(CKVER) for Pyramid Dual Port OSx
  2637. ucb $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2638. "CFLAGS= -DBSD43 -DTCPSOCKET -DHBDUUCP -DCK_CURSES -O $(KFLAGS)" \
  2639. "LNKFLAGS = -s" "LIBS = -lcurses -ltermcap"
  2640. #Pyramid DC/OSx (UNIX System V R4).
  2641. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  2642. #are not misplaced in sys (rather than netinet and arpa, respectively).
  2643. #Uses ANSI C.
  2644. #NOTE: Remove -O and Olimit:2500 from CFLAGS if TELNET connections do not work.
  2645. pyrdcosx:
  2646. @echo 'Making C-Kermit $(CKVER) for Pyramid DC/OSx...'
  2647. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2648. "CFLAGS = -Xa -O -DSVR4 -DDIRENT -DHDBUUCP -DSELECT -DNOGETUSERSHELL \
  2649. -DCK_CURSES -DSTERMIOX -DTCPSOCKET -DPYRAMID -K Olimit:3100 \
  2650. -DNO_DNS_SRV $(KFLAGS)" "LIBS= -lcurses -lsocket -lnsl" "LNKFLAGS = -s"
  2651. #IBM's AIX 3.0 on IBM 370 mainframe, tested on AIX F44 thru F50.
  2652. aix370:
  2653. @echo Making C-Kermit $(CKVER) for IBM System/370 AIX 3.0...
  2654. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2655. "CFLAGS= -DAIX370 -DTCPSOCKET -DLCKDIR -DDIRENT $(KFLAGS)" \
  2656. "LIBS = -lbsd"
  2657. #IBM's AIX/ESA 2.1 (OSF/1) on IBM mainframe
  2658. aixesa:
  2659. @echo Making C-Kermit $(CKVER) for IBM AIX/ESA...
  2660. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2661. "CFLAGS= -DAIXESA -DTCPSOCKET $(KFLAGS) -O"
  2662. #IBM PS/2 with AIX 1.0 thru 1.3.
  2663. # Reports indicate that -O switch must be omitted.
  2664. # It is also possible that "make bsd" will work (reports welcome).
  2665. # One report said "make LIBS=-lbsd bsd" did the trick.
  2666. # NOTLOG is to get around a 'tlog' symbol defined in one of the headers.
  2667. ps2aix:
  2668. @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
  2669. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2670. "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DSIG_V \
  2671. -DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
  2672. "LNKFLAGS = -i"
  2673. ps2aixnetc:
  2674. @echo 'Making C-Kermit $(CKVER) for IBM AIX 1.x PS/2...'
  2675. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  2676. "CFLAGS = -DATTSV -DNOREALPATH -DPS2AIX10 -DTCPSOCKET -DCK_CURSES \
  2677. -DSIG_V -DNOUNICODE -DNOTLOG -DNOLEARN $(KFLAGS) -i" \
  2678. "LIBS = -lcurses" "LNKFLAGS = -i"
  2679. ps2aix3:
  2680. $(MAKE) ps2aix KTARGET=$${KTARGET:-$(@)}
  2681. #IBM RT PC with AIX 2.2.1, valid as of C-Kermit 8.0.
  2682. #NOTLOG because of a conflict in <sys/termio.h>.
  2683. #This one has unique and strange lockfiles.
  2684. # -O removed on purpose (8.0).
  2685. # In case of "compiler error: symbol table full", increase the -Nn number.
  2686. # In case of "compiler error: Constant pool too big", boost the -Np number.
  2687. # Add -DNOPUTENV if putenv() causes trouble.
  2688. # Put -DNOIKSD back if IKSD-related problems occur.
  2689. rtaix:
  2690. @echo 'Making C-Kermit $(CKVER) for IBM RT PC, AIX 2.2.1...'
  2691. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2692. "CFLAGS = -DATTSV -DRTAIX -DHDBUUCP -DDIRENT -DNOTLOG -DTCPSOCKET \
  2693. -DNOGETUSERSHELL -DCLSOPN -DNOREALPATH -DNOUNICODE -DBSD_INCLUDES \
  2694. -DUSE_LSTAT -DFNFLOAT -Nn2500 -Np1000 -Wq,-SJ2 -a -w $(KFLAGS)" \
  2695. "LIBS = -lm $(LIBS)" "LNKFLAGS = -s"
  2696. #### IBM RT PC - these targets were last verified in C-Kermit 8.0.211.
  2697. #IBM RT PC with AIX 2.2.1 + curses
  2698. rtaixc:
  2699. $(MAKE) rtaix CC=$(CC) CC2=$(CC2) "KFLAGS=-DCK_CURSES" "LIBS=-lcurses"
  2700. #IBM RT PC with AIX (ACIS) 2.2.1 (BSD 4.3)
  2701. # Add -O, -DDYNAMIC, -s, etc, if they work.
  2702. rtacis:
  2703. @echo Making C-Kermit $(CKVER) for RT PC with ACIS 2.2.1 = BSD 4.3...
  2704. $(MAKE) xermit KTARGET=$${KTARGET-$(@)} \
  2705. "CFLAGS= -DBSD4 -DTCPSOCKET -DNOREALPATH -DNOIKSD -DNOPUTENV \
  2706. $(KFLAGS) -U__STDC__" "LNKFLAGS = -s"
  2707. #### IBM AIX. The first two targets should work for any version of AIX
  2708. #### from 4.2 onwards. The ones after that are for older versions or
  2709. #### specific configurations, and/or with gcc.
  2710. # This one should work for any AIX 4.2 or later: "make aix".
  2711. # Other tags are for compatibility with old makefile targets.
  2712. #OK: 2011/06/11
  2713. aix aix42 aix43 aix44 aix45 aix50 aix51 aix52 aix53 aix54 aix61:
  2714. @echo Making C-Kermit $(CKVER) for IBM AIX...
  2715. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2716. "CFLAGS= -DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2717. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
  2718. -DSELECT -DSELECT_H -DNOGETUSERSHELL -qmaxmem=16000 -O \
  2719. -DCKCPU=\\\"`uname -p`\\\" \
  2720. -DHERALD=\"\\\" IBM AIX `uname -v`.`uname -r`\\\"\" \
  2721. -D_LARGE_FILES $(KFLAGS)" "LNKFLAGS = -s" "LIBS=-lcurses -lm"
  2722. # Same but using gcc instead of cc
  2723. # This works but we get "gcc: unrecognized option '-qmaxmem-..'" each module.
  2724. aixg:
  2725. @echo "Using gcc..."
  2726. $(MAKE) aix KTARGET=$${KTARGET:-$(@)} \
  2727. CC=gcc CC2=gcc "KFLAGS=-pipe -funsigned-char"
  2728. # AIX 4.2 or later with OpenSSL 0.9.7 or later: "make aix+ssl"
  2729. # For earlier OpenSSL remove -DOPENSSL_097 or add "KFLAGS=-UOPENSSL_097".
  2730. # Synonym target names added to cover old redundant targets that were removed.
  2731. # If SSL is not installed in the /usr/local tree (see SSLINC and SSLLIB
  2732. # definitions near the top), you can specify the locations in your make
  2733. # command as in this example:
  2734. #
  2735. # SSLINC=-I/opt/ssl/include SSLLIB=-L/opt/ssl/lib make -e aix+ssl
  2736. #
  2737. # To build with gcc use "make aix CC=gcc CC2=gcc", or "make aixg"
  2738. #
  2739. #OK: 2011/06/15
  2740. aix+ssl aix51+openssl aix52+openssl aix53+openssl:
  2741. @echo "Making C-Kermit $(CKVER) for IBM AIX with OpenSSL..."
  2742. @echo "SSLINC=$(SSLINC) SSLLIB=$(SSLLIB)"
  2743. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2744. CC=$(CC) CC2=$(CC2) \
  2745. "CFLAGS=-DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2746. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
  2747. -D_LARGE_FILES -DSELECT -DSELECT_H -DNOGETUSERSHELL \
  2748. -DCKCPU=\\\"`uname -p`\\\" \
  2749. -DHERALD=\"\\\" IBM AIX `uname -v`.`uname -r`\\\"\" \
  2750. -DCK_AUTHENTICATION -DCK_SSL -DOPENSSL_097 $(SSLINC) $(KFLAGS)" \
  2751. "LNKFLAGS=-s" "LIBS=$(SSLLIB) -lssl -lcrypto -lcurses -lm -lcrypt"
  2752. # AIX 5.3 or 6.1 or later with IBM OpenSSL, which is always in the directories
  2753. # shown below so you don't have to set SSLINC and SSLLIB. If for some reason
  2754. # the SSL include files and libraries are not in the places assumed, then use
  2755. # "make aix+ssl" (just above) and set SSLINC and SSLLIB to indicate where the
  2756. # SSL files are. To build with gcc use "make aix+ibmssl CC=gcc CC2=gcc".
  2757. aix+ibmssl:
  2758. @echo "Making C-Kermit $(CKVER) for IBM AIX 6.1 with OpenSSL..."
  2759. @echo "If this fails use 'make aix+ss' and specify SSLINC and SSLLIB"
  2760. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2761. CC=$(CC) CC2=$(CC2) \
  2762. "CFLAGS=-DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2763. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
  2764. -D_LARGE_FILES -DSELECT -DSELECT_H -DNOGETUSERSHELL \
  2765. -DCKCPU=\\\"`uname -p`\\\" \
  2766. -DHERALD=\"\\\" IBM AIX `uname -v`.`uname -r`\\\"\" \
  2767. -DCK_AUTHENTICATION -DCK_SSL -DOPENSSL_098 \
  2768. -I/usr/include/openssl $(KFLAGS)" \
  2769. "LNKFLAGS=-s" \
  2770. "LIBS=-L/usr/lib/openssl -lssl -lcrypto -lcurses -lm -lcrypt"
  2771. # Old AIX versions...
  2772. #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000.
  2773. rs6000:
  2774. @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
  2775. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2776. "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
  2777. -DCK_POLL -DCLSOPN -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
  2778. "LNKFLAGS = -s"
  2779. #IBM AIX 3.0, 3.1, or 3.2 for RISC System/6000, with curses.
  2780. rs6000c:
  2781. @echo Making C-Kermit $(CKVER) for IBM AIX 3.0 or 3.1, RS/6000...
  2782. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2783. "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR3 -DDIRENT -DCK_ANSIC \
  2784. -DCK_POLL -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -DNOREALPATH \
  2785. -O $(KFLAGS)" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -s"
  2786. aix30:
  2787. $(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
  2788. aix31:
  2789. $(MAKE) rs6000 CC=$(CC) CC2=$(CC2) KTARGET=$${KTARGET:-$(@)}
  2790. #IBM AIX 3.2 for RISC System/6000.
  2791. #In case of "subprogram too complex" warnings, add "-qmaxmem=16000" to CFLAGS.
  2792. rs6aix32:
  2793. @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000...
  2794. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2795. "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
  2796. -DSELECT_H -DCLSOPN -DNOTTYLOCK -O $(KFLAGS)" "LNKFLAGS = -s"
  2797. #IBM AIX 3.2 for RISC System/6000.
  2798. rs6aix32c:
  2799. @echo Making C-Kermit $(CKVER) for IBM AIX 3.2, RS/6000, TCP+curses...
  2800. @echo In case of Subprogram Too Complex warnings,
  2801. @echo add -qmaxmem=16000 to CFLAGS.
  2802. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2803. "CFLAGS= -DAIXRS -DTCPSOCKET -DSVR4 -DDIRENT -DCK_ANSIC -DNOREALPATH \
  2804. -DCLSOPN -DCK_CURSES -DSELECT_H -DNOTTYLOCK -O $(KFLAGS)" \
  2805. "LNKFLAGS = -s" "LIBS=-lcurses"
  2806. aix32:
  2807. $(MAKE) rs6aix32c KTARGET=$${KTARGET:-$(@)}
  2808. #IBM AIX 4.1, 4.1.x on RISC System/6000 or Power Series.
  2809. #Generates common binary for all platforms if using xlc (IBM C compiler).
  2810. #When using gcc, add -mcpu=common to generate common binary.
  2811. #Note that this one needs CK_NEWTERM.
  2812. # Add -bbigtoc in case ld fails with TOC overflow.
  2813. aix41:
  2814. @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2815. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2816. "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2817. -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2818. -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
  2819. "LNKFLAGS = -s" "LIBS=-lcurses"
  2820. #Ditto but with gcc.
  2821. #Remove "CC=gcc CC2=gcc" if you have gcc installed as cc.
  2822. aix41g:
  2823. @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2824. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
  2825. "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2826. -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2827. -DNOGETUSERSHELL -O $(KFLAGS)" \
  2828. "LNKFLAGS = -s -Xlinker -bbigtoc" "LIBS=-lcurses"
  2829. # Add -bbigtoc in case ld fails with TOC overflow.
  2830. aix41+krb5+krb4:
  2831. @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2832. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2833. "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2834. -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2835. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  2836. -DCK_ENCRYPTION -DCK_DES $(K5INC) $(K5INC)/krb5 \
  2837. -DNOGETUSERSHELL -qmaxmem=16000 -O $(KFLAGS)" \
  2838. "LNKFLAGS = -s" \
  2839. "LIBS = $(K5LIB) -lcurses -lkrb4 -ldes425 -lkrb5 \
  2840. -lcom_err -lk5crypto -lgssapi_krb5"
  2841. #Old name for "aix41".
  2842. rs6aix41c:
  2843. $(MAKE) aix41 KTARGET=$${KTARGET:-$(@)}
  2844. #IBM AIX 4.1, 4.1.x, or 4.2 on RISC System/6000 or Power Series,
  2845. # with X.25 support
  2846. #Generates common binary for all platforms if using xlc (IBM C compiler).
  2847. #When using gcc, add -mcpu=common to generate common binary.
  2848. # Add -bbigtoc in case ld fails with TOC overflow.
  2849. aix41x25:
  2850. @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2851. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2852. "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2853. -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2854. -DIBMX25 -DDEBUG -DNOGETUSERSHELL -qmaxmem=16000 -g $(KFLAGS)" \
  2855. "LNKFLAGS = -g -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
  2856. -@echo "]0;kermit done\c"
  2857. #As above but without -g in LNKFLAGS.
  2858. # Add -bbigtoc in case ld fails with TOC overflow.
  2859. aix41x25o:
  2860. @echo Making C-Kermit $(CKVER) for IBM AIX 4.1.1 RS/6000 or PowerPC...
  2861. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2862. "CFLAGS= -DAIXRS -DAIX41 -DSVR4 -DSTERMIOX -DTCPSOCKET -DDIRENT \
  2863. -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DSELECT -DSELECT_H \
  2864. -DIBMX25 -DNODEBUG -DNOGETUSERSHELL -qmaxmem=16000 $(KFLAGS)" \
  2865. "LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg"
  2866. -@echo "]0;kermit done\c"
  2867. #AIX 4.2 -- Use this target if the regular "make aix" doesn't work.
  2868. # Must have CK_NEWTERM or echoing is lost after curses.
  2869. # Add -bbigtoc in case ld fails with TOC overflow. As of C-Kermit 8.0.212,
  2870. # all AIX builds 4.2 and later include large file support.
  2871. oldaix42:
  2872. @echo Making C-Kermit $(CKVER) for IBM AIX 4.2 or higher...
  2873. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2874. "CFLAGS= -DAIXRS -DAIX41 -DAIX42 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2875. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DCK_NEWTERM -DFNFLOAT \
  2876. -DSELECT -DSELECT_H -DNOGETUSERSHELL -qmaxmem=16000 -O \
  2877. -DCKCPU=\\\"`uname -p`\\\" \
  2878. -DHERALD=\\\"\ IBM\ AIX\ `uname -v`.`uname -r`\\\" \
  2879. -D_LARGE_FILES $(KFLAGS)" "LNKFLAGS = -s" "LIBS=-lcurses -lm"
  2880. #AIX 4.3 - Use this target if the regular "make aix" doesn't work.
  2881. # Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
  2882. # -bbigtoc needed on some systems but not others to avoid TOC overflow.
  2883. # "man ld" says -bbigtoc makes program run slower.
  2884. oldaix43:
  2885. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher...
  2886. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2887. "CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2888. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2889. -DFNFLOAT -DNOGETUSERSHELL -qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
  2890. "LNKFLAGS = -s" "LIBS=-lcurses -lm"
  2891. #AIX 4.3 with IBM X.25.
  2892. aix43x25:
  2893. @echo "Making C-Kermit $(CKVER) for IBM AIX 4.3 with X.25..."
  2894. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  2895. "CFLAGS= -DAIXRS -DAIX41 -DAIX43 -DSVR4 -DSTERMIOX -DTCPSOCKET \
  2896. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2897. -DFNFLOAT -DNOGETUSERSHELL -DIBMX25 \
  2898. -qmaxmem=16000 -bbigtoc -O $(KFLAGS)" \
  2899. "LNKFLAGS = -bI:/lib/pse.exp" "LIBS=-lcurses -lodm -lcfg -lm"
  2900. #AIX 4.3 -- Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
  2901. # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
  2902. # "man ld" says -bbigtoc makes program run slower.
  2903. aix43g:
  2904. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
  2905. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2906. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2907. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2908. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
  2909. "LIBS=-lcurses -lm"
  2910. aix43gcc:
  2911. $(MAKE) aix43g
  2912. # None of the following aix43gcc attempts work on a gcc-only AIX 4.3.3 box.
  2913. # It just plain can't find the math routines (fmod, pow, exp, sqrt, log10,...)
  2914. # Which is odd because nm /usr/lib/libC.a finds them...
  2915. #in case aix43gcc can't find its math library...
  2916. aix43gccx:
  2917. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
  2918. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2919. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2920. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2921. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
  2922. "LIBS= -L/usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.1.0/2.95.2 \
  2923. -lcurses -bloadmap -bnoquiet"
  2924. #in case aix43gccx can't find its math library...
  2925. aix43gccy:
  2926. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
  2927. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2928. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2929. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2930. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
  2931. "LIBS= -lcurses -bloadmap -bnoquiet"
  2932. #in case aix43gccx can't find its math library...
  2933. aix43gccz:
  2934. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 gcc...
  2935. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2936. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2937. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2938. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL $(KFLAGS)" \
  2939. "LIBS= -L. -lcurses -bloadmap -bnoquiet"
  2940. #AIX 4.3 with MIT Kerberos 5 and Kerberos 4 compatibility mode
  2941. # Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
  2942. # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
  2943. # "man ld" says -bbigtoc makes program run slower.
  2944. aix43gcc+krb5+krb4:
  2945. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/Kerberos...
  2946. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2947. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2948. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2949. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
  2950. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  2951. -DCK_ENCRYPTION -DCK_DES -funsigned-char $(K5INC) $(K5INC)/krb5 \
  2952. $(KFLAGS)" \
  2953. "LIBS=$(K5LIB) -lcurses -lm -lkrb4 -ldes425 -lkrb5 \
  2954. -lcom_err -lk5crypto -lcrypt -lgssapi_krb5"
  2955. #AIX 4.3 with MIT Kerberos 5, Kerberos 4 compatibility mode and OpenSSL
  2956. # Must NOT have CK_NEWTERM or else C-Kermit hangs after curses.
  2957. # -mminimal-toc needed on some systems but not others to avoid TOC overflow.
  2958. # "man ld" says -bbigtoc makes program run slower.
  2959. aix43gcc+krb5+krb4+openssl:
  2960. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/Kerberos...
  2961. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2962. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2963. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2964. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
  2965. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  2966. -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DLIBDES -DCK_SSL \
  2967. -funsigned-char $(K5INC) $(K5INC)/krb5 $(SSLINC) $(KFLAGS)" \
  2968. "LIBS=$(K5LIB) $(SSLLIB) -lssl -lcrypto \
  2969. -lcurses -lm -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt \
  2970. -lgssapi_krb5"
  2971. aix43gcc+openssl:
  2972. @echo Making C-Kermit $(CKVER) for IBM AIX 4.3 or higher w/OpenSSL...
  2973. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  2974. "CFLAGS= -mminimal-toc -g -O -DAIXRS -DAIX41 -DAIX43 -DSVR4 \
  2975. -DDIRENT -DCK_ANSIC -DCLSOPN -DCK_CURSES -DSELECT -DSELECT_H \
  2976. -DSTERMIOX -DTCPSOCKET -DFNFLOAT -DNOGETUSERSHELL \
  2977. -DCK_AUTHENTICATION -DCK_SSL -funsigned-char $(SSLINC) $(KFLAGS)" \
  2978. "LIBS=$(SSLLIB) -lssl -lcrypto -lcurses -lm -lcrypt"
  2979. aix44gcc:
  2980. $(MAKE) aix43g "KFLAGS=-DAIX44 $(KFLAGS)" \
  2981. KTARGET=$${KTARGET:-$(@)}
  2982. aix45gcc:
  2983. $(MAKE) aix43g "KFLAGS=-DAIX45 $(KFLAGS)" \
  2984. KTARGET=$${KTARGET:-$(@)}
  2985. aix50gcc:
  2986. $(MAKE) aix43g "KFLAGS=-DAIX50 $(KFLAGS)" \
  2987. KTARGET=$${KTARGET:-$(@)}
  2988. aix51gcc:
  2989. $(MAKE) aix43g "KFLAGS=-DAIX51 $(KFLAGS)" \
  2990. KTARGET=$${KTARGET:-$(@)}
  2991. aix52gcc:
  2992. $(MAKE) aix43g "KFLAGS=-DAIX52 $(KFLAGS)" \
  2993. KTARGET=$${KTARGET:-$(@)}
  2994. aix53gcc:
  2995. $(MAKE) aix43g "KFLAGS=-DAIX53 $(KFLAGS)" \
  2996. KTARGET=$${KTARGET:-$(@)}
  2997. #Bull DPX/2 with BOS/X, like AIX/RS6000
  2998. bulldpx2:
  2999. @echo Making C-Kermit $(CKVER) for Bull DPX/2 with BOS/X...
  3000. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3001. "CFLAGS= -DSVR3 -DDIRENT -DCK_ANSIC -DCKTYP_H=<sys/types.h> \
  3002. -DCK_POLL -DNOGETUSERSHELL -DCLSOPN -DNOLEARN -O $(KFLAGS)" \
  3003. "LNKFLAGS = -s"
  3004. #Sun UNIX 3.5 with gcc 2.3.3.
  3005. sunos3gcc:
  3006. @echo Making C-Kermit $(CKVER) for Sun UNIX 3.5 and gcc...
  3007. $(MAKE) xermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  3008. CFLAGS="-g -O -DBSD4 -DTCPSOCKET $(KFLAGS)"
  3009. #SunOS version 4.0, BSD environment, has saved original euid feature.
  3010. # Add "CC=/usr/ucb/cc CC2=/usr/ucb/cc" if necessary.
  3011. # Note: Including Unicode crashes the assembler in ckcuni.c.
  3012. sunos4:
  3013. @echo Making C-Kermit $(CKVER) for SunOS 4.0, BSD environment...
  3014. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3015. "CFLAGS= -O -DSUNOS4 -DFNFLOAT -DNOUNICODE $(KFLAGS)" \
  3016. "LIBS=-lm"
  3017. #As above, but with SunLink X.25 support
  3018. sunos4x25:
  3019. @echo SunLink X.25 support
  3020. $(MAKE) "MAKE=$(MAKE)" sunos4 KTARGET=$${KTARGET:-$(@)} \
  3021. "KFLAGS=$(KFLAGS) -DFNFLOAT -DSUNX25" \
  3022. "LIBS=-lm"
  3023. #SUN OS version 4.1 - 4.1.3, BSD environment, has saved original euid feature.
  3024. #Uses Honey DanBer UUCP. Requires presence of /usr/spool/locks directory.
  3025. # /var/spool/ should be a symbolic link to /usr/spool/.
  3026. # ... or 'make xermit "CC= /usr/ucb/cc " \'
  3027. # Note: "xermit" means use the select() version of the CONNECT module.
  3028. # Note for C-Kermit 9.0: Reportedly 'you need to modify the sys/ioctl.h
  3029. # include file, i.e. comment out the "struct winsize" and "struct
  3030. # ttysize". Otherwise there will be a conflict with sys/ttycom.h (included by
  3031. # termios.h) which also declares these structs. But you need both includes.'
  3032. sunos41:
  3033. @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD...
  3034. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3035. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE $(KFLAGS)" \
  3036. "LIBS= $(LIBS) -lresolv -lm"
  3037. #As above, but compiled with gcc. Gives 24-32K size reduction
  3038. #with gcc 2.1 or 2.2.2. CAUTION: make sure "fixincludes" has been run on
  3039. #the include files, so gcc's are in sync with the regular Sun ones.
  3040. #This includes the curses library for fullscreen file transfer display.
  3041. #NDGPWNAM needed for GCC 2.5.6, not needed for 2.4.0, but it's uncertain
  3042. #whether it will do any harm for 2.4.0 compilation -- if so, remove it.
  3043. sunos41gcc:
  3044. @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  3045. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3046. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3047. -funsigned-char $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  3048. # As above, but without -funsigned-char so I can see the warnings that
  3049. # everybody else will get when they use ANSI compilers that don't have this
  3050. # option (gsc = gcc signed char).
  3051. sunos41gsc:
  3052. @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  3053. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3054. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3055. $(KFLAGS)" "LIBS= -lcurses -ltermcap -lresolv -lm"
  3056. #As above but with ckucon.c rather than ckucns.c (for testing only)
  3057. sunos41gccfork:
  3058. @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  3059. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3060. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3061. -DNOLEARN -funsigned-char $(KFLAGS)" \
  3062. "LIBS= -lcurses -ltermcap -lresolv -lm"
  3063. #as above but configured for Kerberos IV
  3064. sunos41gcc+krb4:
  3065. @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
  3066. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3067. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3068. -DTCPSOCKET -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 \
  3069. -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DBIGBUFOK -funsigned-char \
  3070. $(K4INC) $(KFLAGS)" \
  3071. "LIBS= $(K4LIB) -lcurses -ltermcap -lresolv -lm -lkrb -ldes"
  3072. #as above but configured for SSL/TLS
  3073. sunos41gcc+openssl:
  3074. @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, ssl...
  3075. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3076. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3077. -DCK_AUTHENTICATION -funsigned-char \
  3078. -DCK_SSL -DTCPSOCKET -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
  3079. "LIBS= $(SSLLIB) -lcurses -ltermcap -lresolv -lm -lssl -lcrypto"
  3080. #as above but configured for Kerberos IV and SSL/TLS
  3081. sunos41gcc+krb4+openssl:
  3082. @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
  3083. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3084. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3085. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
  3086. -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
  3087. $(K4INC) $(SSLINC) $(KFLAGS)" \
  3088. "LIBS= $(K4LIB) $(SSLLIB) \
  3089. -lcurses -ltermcap -lresolv -lm -lkrb -lssl -lcrypto"
  3090. #as above but configured for Kerberos IV and ZLIB enabled SSL/TLS
  3091. sunos41gcc+krb4+openssl+zlib:
  3092. @echo Making C-Kermit $(CKVER) for SunOS 4.1, gcc, curses, krb4...
  3093. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3094. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3095. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
  3096. -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
  3097. -DZLIB $(K4INC) $(SSLINC) \
  3098. $(KFLAGS)" \
  3099. "LIBS= $(K4LIB) $(SSLLIB) \
  3100. -lcurses -ltermcap -lresolv -lm -lkrb -lssl -lcrypto -lz"
  3101. #as above but configured for Kerberos IV and SRP and ZLIB enabled SSL/TLS
  3102. sunos41gcc+krb4+srp+openssl+zlib:
  3103. @echo "C-Kermit $(CKVER) SunOS 4.1: gcc,curses,krb4,srp,ssl,zlib..."
  3104. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3105. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3106. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION -DCK_DES \
  3107. -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
  3108. -DZLIB -DCK_SRP $(K4INC) $(SRPINC) $(SSLINC) $(KFLAGS)" \
  3109. "LIBS= $(K4LIB) $(SRPLIB) $(SSLLIB) \
  3110. -lcurses -ltermcap -lresolv -lm -lkrb -lkrypto \
  3111. -lsrp -lssl -lcrypto -lz"
  3112. #as above but configured for Kerberos IV and SRP and ZLIB enabled SSL/TLS
  3113. sunos41gcc+srp+openssl+zlib:
  3114. @echo "C-Kermit $(CKVER) SunOS 4.1: gcc,curses,srp,ssl,zlib..."
  3115. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3116. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNDGPWNAM -DCK_CURSES -DFNFLOAT \
  3117. -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES \
  3118. -DCK_CAST -DCK_SSL -DLIBDES -DTCPSOCKET -DBIGBUFOK -funsigned-char \
  3119. -DZLIB -DCK_SRP $(SRPINC) $(SSLINC) \
  3120. $(KFLAGS)" \
  3121. "LIBS= $(SRPLIB) $(SSLLIB) \
  3122. -lcurses -ltermcap -lresolv -lm -lkrypto -lsrp -lssl -lcrypto -lz "
  3123. #SUNOS 4.1 as sunos41 above, but also with curses support
  3124. sunos41c:
  3125. @echo Curses support
  3126. $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
  3127. "KFLAGS=$(KFLAGS) -DCK_CURSES -DFNFLOAT " \
  3128. "LIBS= -lcurses -ltermcap"
  3129. #As SunOS 4.1.x, gcc, configured as Internet Kermit Server.
  3130. # . NOLOCAL removes capability to make connections
  3131. # . TNCODE allows server-side Telnet negotiation.
  3132. # . used to include -lpwent, why?
  3133. # . used to include -L/usr/local/lib -lm, why?
  3134. sunos41giks:
  3135. @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc for IKS...
  3136. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc" "CC2= gcc" \
  3137. "CFLAGS= -O -DSUNOS41 -DNDGPWNAM -DFNFLOAT \
  3138. -DNOLOCAL -DTCPSOCKET -DTNCODE -DNOPUSH $(KFLAGS)" \
  3139. "LIBS= -lm -lresolv"
  3140. #SUNOS 4.1 with SunLink X.25 support
  3141. sunos41x25:
  3142. @echo SunLink X.25 support
  3143. $(MAKE) "MAKE=$(MAKE)" wermit KTARGET=$${KTARGET:-$(@)} \
  3144. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE -DFNFLOAT -DSUNX25 \
  3145. -DNOLEARN $(KFLAGS)" "LIBS= $(LIBS) -lresolv -lm"
  3146. #SUNOS 4.1 with SunLink X.25 support and curses
  3147. sunos41x25c:
  3148. @echo SunLink X.25 support + curses
  3149. $(MAKE) "MAKE=$(MAKE)" wermit KTARGET=$${KTARGET:-$(@)} \
  3150. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DNOUNICODE -DFNFLOAT -DSUNX25 \
  3151. -DCK_CURSES -DNOLEARN $(KFLAGS)" \
  3152. "LIBS= $(LIBS) -lcurses -ltermcap -lresolv -lm"
  3153. #SUN with Solaris 2.0 = SunOS 5.0.
  3154. #Mostly the same as System V R4. Don't use this with later Solaris versions.
  3155. solaris20:
  3156. @echo 'Making C-Kermit $(CKVER) for Sun with Solaris 2.0 and curses...'
  3157. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3158. "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
  3159. -DTCPSOCKET -DCK_CURSES -DFNFLOAT -DCK_POLL $(KFLAGS)" \
  3160. "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s"
  3161. #SUN with Solaris 2.0.
  3162. #As above, but built with the gcc compiler from the Cygnus CD-ROM.
  3163. solaris20g:
  3164. @echo 'Making C-Kermit $(CKVER) for Sun Solaris 2.0, gcc, and curses..'
  3165. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3166. "CFLAGS = -O -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DSTERMIOX \
  3167. -DTCPSOCKET -DCK_CURSES -DCK_POLL -DFNFLOAT $(KFLAGS)" \
  3168. "LIBS= -lsocket -lnsl -lcurses -ltermlib -lm" "LNKFLAGS = -s" \
  3169. CC=/opt/cygnus-sol2-1.1/bin/gcc CC2=/opt/cygnus-sol2-1.1/bin/gcc
  3170. #SunOS 5.1 = Solaris 2.1.
  3171. #NOTE: A C compiler is no longer bundled with SunOS 5.1, so to compile C
  3172. #programs, you might have to change your PATH to include the directory
  3173. #/usr/ccs/bin AFTER the directory containing the compiler. SunPRO C is
  3174. #installed by default in /opt/SUNWspro/bin. So a sample PATH might be:
  3175. #
  3176. # /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
  3177. # /usr/ucb:/usr/sbin:/sbin:.
  3178. #
  3179. # or:
  3180. #
  3181. # /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
  3182. #
  3183. #NOTE 2: Compilation with the Apogee C compiler (apcc) might not work,
  3184. #because it refuses to allow "-Usun". Reportedly, newer releases of apcc
  3185. #(such as 1.2.17) work OK, use: "make -e sunos51 CC=apcc CC2=apcc".
  3186. solaris21:
  3187. @echo 'Making C-Kermit $(CKVER) for SunOS 5.x....'
  3188. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3189. "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DDIRENT -DHDBUUCP -DFNFLOAT \
  3190. -DSELECT -DNODEBUG -DSTERMIOX $(KFLAGS)" "LIBS = -lm" "LNKFLAGS = -s"
  3191. #Solaris 2.0 - 2.4, SunPro compiler, includes curses and TCP/IP.
  3192. #When using SUNWspro CC 2.0.1 under Solaris 2.3, be sure all cc patches
  3193. #are applied, otherwise corrupt or truncated object files can result.
  3194. #To build, set your PATH as follows:
  3195. # /usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin:\
  3196. # /usr/ucb:/usr/sbin:/sbin:.
  3197. # or (depending on where the compiler has been installed):
  3198. # /usr/openwin/bin:/export/home/SUNWspro/bin:/usr/ccs/bin:/usr/sbin:/usr/bin.
  3199. #For additional optimization try using "-fast -xO4 -xdepend".
  3200. solaris2x:
  3201. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
  3202. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3203. "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP -DFNFLOAT \
  3204. -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  3205. "LNKFLAGS = -s" "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv"
  3206. #as above but configured for Kerberos IV
  3207. solaris2x+krb4:
  3208. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x, SunPro cc, krb4...'
  3209. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3210. "CFLAGS = -O -Usun -i -DSVR4 -DDIRENT -DSOLARIS -DHDBUUCP -DFNFLOAT \
  3211. -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX -DTCPSOCKET \
  3212. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 \
  3213. -DCK_ENCRYPTION -DCK_DES -DCK_CAST $(K4INC) $(KFLAGS)" \
  3214. "LNKFLAGS = -s" \
  3215. "LIBS= $(K4LIB) -ltermlib -lsocket -lnsl -lm -lresolv -lkrb -ldes"
  3216. #C-Kermit for Solaris 2.0-2.4 compiled with gcc, includes curses and TCP/IP.
  3217. #Change -O2 to -O if -O2 gives trouble.
  3218. #Remove -Usun if it causes trouble.
  3219. #Your PATH should start with something like:
  3220. # /usr/local/gnu/bin:/usr/ccs/bin:
  3221. #Produces a huge executable -- strip with /usr/ccs/bin/strip (not Gnu strip).
  3222. #Also don't add "LNKFLAGS = -s" -- strip manually instead.
  3223. #Also note: this can NOT be linked statically - Sun makes it impossible.
  3224. #And for Solaris 2.4, you might have to replace:
  3225. # /usr/local/lib/gcc-lib/i486-sun-solaris2/2.4.5/include/sys/stat.h
  3226. #with /usr/include/sys/stat.h.
  3227. solaris2xg:
  3228. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
  3229. @echo 'Please read the comments that accompany the solaris2xg target.'
  3230. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3231. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3232. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  3233. "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv $(LIBS)"
  3234. #ditto but no curses.
  3235. solaris2xgnc:
  3236. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc...'
  3237. @echo 'Please read the comments that accompany the solaris2xg target.'
  3238. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3239. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3240. -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  3241. "LIBS= -lsocket -lnsl -lm -lresolv $(LIBS)"
  3242. #and with Kerberos IV
  3243. solaris2xg+krb4:
  3244. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with GNU cc, krb4...'
  3245. @echo 'Please read the comments that accompany the solaris2xg target.'
  3246. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3247. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3248. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3249. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB4 -DCK_ENCRYPTION \
  3250. -DCK_DES -DCK_CAST -DBIGBUFOK $(K4INC) $(KFLAGS)" \
  3251. "LIBS= $(K4LIB) -ltermlib -lsocket -lnsl -lm -lresolv -lkrb -ldes \
  3252. $(LIBS)"
  3253. #and with OpenSSL,ZLIB,PAM,SHADOW
  3254. solaris2xg+openssl+zlib+pam+shadow:
  3255. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
  3256. @echo 'Please read the comments that accompany the solaris2xg target.'
  3257. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3258. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3259. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3260. -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW -DZLIB \
  3261. -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
  3262. "LIBS= $(SSLLIB) -ltermlib \
  3263. -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam -lz"
  3264. #Ditto but with GCC 3.1 in which you have to specify 32-bit with -m32.
  3265. #In Solaris 9 (and maybe 8) you'll also need specifiy the Library path.
  3266. #Reportedly this can be done here, but only with:
  3267. # crle -l /usr/lib:/usr/local/ssl/lib
  3268. #prior to building. Note: 64-bit not tested with SSL.
  3269. #For no-crypto 64-bit builds see the solaris9g64 target.
  3270. solaris2xg32+openssl+zlib+pam+shadow:
  3271. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
  3272. @echo 'Please read the comments that accompany the solaris2xg target.'
  3273. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC="gcc -m32" CC2="gcc -m32" \
  3274. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3275. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3276. -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW -DZLIB \
  3277. -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
  3278. "LIBS= $(SSLLIB) -ltermlib \
  3279. -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam -lz"
  3280. #and with Krb5,Krb4,OpenSSL,SHADOW
  3281. solaris2xg+krb5+krb4+openssl+shadow:
  3282. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc,k5,k4,ssl...'
  3283. @echo 'Please read the comments that accompany the solaris2xg target.'
  3284. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3285. "CFLAGS = -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3286. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3287. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  3288. -DCK_ENCRYPTION -DCK_SSL -DCK_DES -DCK_CAST -DBIGBUFOK \
  3289. $(K5INC) $(K5INC)/krb5 $(SSLINC) $(KFLAGS)" \
  3290. "LIBS= $(K5LIB) $(SSLLIB) -ltermlib -lsocket -lnsl -lm -lresolv \
  3291. -lkrb4 -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto \
  3292. -ldes $(LIBS)"
  3293. #and with OpenSSL
  3294. solaris2xg+openssl+pam+shadow:
  3295. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
  3296. @echo 'Please read the comments that accompany the solaris2xg target.'
  3297. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3298. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3299. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3300. -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW \
  3301. -DBIGBUFOK $(SSLINC) $(KFLAGS)" \
  3302. "LIBS= $(SSLLIB) -ltermlib \
  3303. -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam"
  3304. solaris2xg+openssl+zlib+srp+pam+shadow:
  3305. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with gcc, OpenSSL...'
  3306. @echo 'Please read the comments that accompany the solaris2xg target.'
  3307. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3308. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DFNFLOAT \
  3309. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DBIGBUFOK \
  3310. -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_DES -DLIBDES -DCK_CAST \
  3311. -DCK_SSL -DCK_PAM -DCK_SHADOW -DZLIB -DCK_SRP $(SSLINC) $(KFLAGS)" \
  3312. "LIBS= $(SSLLIB) -ltermlib -lsocket -lnsl -lm -lresolv -lsrp -lssl \
  3313. -ldes -lkrypto -lcrypto -lpam -lz"
  3314. solaris22g:
  3315. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DPOSIX_CRTSCTS $(KFLAGS)" solaris2xg \
  3316. KTARGET=$${KTARGET:-$(@)}
  3317. solaris23g:
  3318. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DPOSIX_CRTSCTS $(KFLAGS)" solaris2xg \
  3319. KTARGET=$${KTARGET:-$(@)}
  3320. #Solaris 2.4 built with gcc
  3321. solaris24g:
  3322. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} \
  3323. solaris2xg "KFLAGS=-DSOLARIS24 -DPOSIX_CRTSCTS $(KFLAGS)"
  3324. #Solaris 2.0-2.3, SunPro compiler, with SunLink X.25 support.
  3325. #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
  3326. #exists and can be dynamically linked.
  3327. #NOTE: Do not change target to xermit -- it doesn't support X.25.
  3328. solaris2x25:
  3329. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x+X.25 with SunPro cc...'
  3330. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3331. "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DDIRENT \
  3332. -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT -DNOLEARN \
  3333. -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
  3334. "LNKFLAGS = -s" \
  3335. "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  3336. -lsockx25 -lsocket -lnsl -lm -lresolv"
  3337. #Solaris 2.0-2.4, gcc, SunLink X.25 added.
  3338. #NOTE: Can't use xermit target with X.25.
  3339. solaris2xgx25:
  3340. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x + X.25 with GNU cc...'
  3341. @echo 'Please read the comments that accompany the solaris2xg entry.'
  3342. $(MAKE) wermit CC=gcc CC2=gcc KTARGET=$${KTARGET:-$(@)} \
  3343. "CFLAGS = -g -O -Usun -DSVR4 -DSOLARIS -DSTERMIOX -DSELECT -DSUNX25 \
  3344. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DFNFLOAT \
  3345. -DNOLEARN $(KFLAGS)" \
  3346. "LIBS= -ltermlib -lm -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  3347. -lsockx25 -lsocket -lnsl"
  3348. #Solaris 2.4, SunPro compiler, with SunLink X.25 support.
  3349. #This will only run if user has /opt/SUNWconn/lib/libsockx25.so.1
  3350. #exists and can be dynamically linked.
  3351. solaris24x25:
  3352. @echo 'Making C-Kermit $(CKVER) for Solaris 2.4+X.25 with SunPro cc...'
  3353. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3354. "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS -DSOLARIS24 -DDIRENT -DNOLEARN \
  3355. -DSUNX25 -DTCPSOCKET -DHDBUUCP -DFNFLOAT -DPOSIX_CRTSCTS \
  3356. -DSELECT -DCK_CURSES -DCK_NEWTERM -DSTERMIOX $(KFLAGS)" \
  3357. "LNKFLAGS = -s" \
  3358. "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  3359. -lsockx25 -lsocket -lnsl -lm -lresolv"
  3360. #Solaris 2.5, SunPro compiler, with SunLink X.25 support.
  3361. solaris25x25:
  3362. @echo 'Making C-Kermit $(CKVER) for Solaris 2.5+X.25 with SunPro cc...'
  3363. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3364. "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS25 -DDIRENT -DSUNX25 \
  3365. -DTCPSOCKET -DHDBUUCP -DSELECT -DCK_CURSES \
  3366. -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -DPOSIX_CRTSCTS -DNOLEARN \
  3367. -I/opt/SUNWconn/include $(KFLAGS)" \
  3368. "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  3369. -lsockx25 -lsocket -lnsl -lm -lresolv"
  3370. solaris23:
  3371. $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
  3372. "KFLAGS=$(KFLAGS)"
  3373. solaris24:
  3374. $(MAKE) "MAKE=$(MAKE)" solaris2x KTARGET=$${KTARGET:-$(@)} \
  3375. "KFLAGS=-DSOLARIS24 -DPOSIX_CRTSCTS $(KFLAGS)"
  3376. # template for Solaris 2.5 and above.
  3377. solaris25x:
  3378. @echo 'Making C-Kermit $(CKVER) for Solaris 2.x with SunPro cc...'
  3379. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3380. "CFLAGS = -DFNFLOAT -O -Usun -i $(KFLAGS)" \
  3381. "LNKFLAGS = -s" \
  3382. "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv $(LIBS)"
  3383. #Solaris 2.5, SunPro compiler, curses, TCP/IP
  3384. solaris25:
  3385. $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  3386. "KFLAGS=-DSOLARIS25 $(KFLAGS)"
  3387. #Solaris 2.5, SunPro compiler, curses, TCP/IP, Kerberos IV
  3388. solaris25+krb4:
  3389. $(MAKE) "MAKE=$(MAKE)" solaris25x+krb4 KTARGET=$${KTARGET:-$(@)} \
  3390. "KFLAGS=-DSOLARIS25 $(KFLAGS)"
  3391. #Solaris 2.5 built with gcc
  3392. solaris25g:
  3393. $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
  3394. "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
  3395. #Solaris 2.5 built with gcc and Kerberos IV
  3396. solaris25g+krb4:
  3397. $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
  3398. "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
  3399. #Solaris 2.5 built with gcc and Kerberos V/IV, SSL, ...
  3400. solaris25g+krb5+krb4+openssl+shadow:
  3401. $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb5+krb4+openssl+shadow \
  3402. KTARGET=$${KTARGET:-$(@)} \
  3403. "KFLAGS=-funsigned-char -DSOLARIS25 $(KFLAGS)"
  3404. #Solaris 2.5, gcc, SunLink X.25 added.
  3405. solaris25gx25:
  3406. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgx25 \
  3407. "KFLAGS=-DSOLARIS25 $(KFLAGS)"
  3408. #Solaris 2.6, gcc, SunLink X.25 added.
  3409. solaris26gx25:
  3410. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgx25 \
  3411. "KFLAGS=-DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3412. "LIBS= -lpam"
  3413. #Solaris 2.6, SunPro compiler, curses, TCP/IP
  3414. solaris26:
  3415. $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  3416. "KFLAGS=-DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3417. "LIBS= -lpam"
  3418. #Solaris 2.6 with gcc
  3419. solaris26g:
  3420. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xg \
  3421. "KFLAGS= -DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3422. "LIBS = -lpam"
  3423. #Solaris 2.6 with gcc and SSL
  3424. solaris26g+openssl:
  3425. $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+pam+shadow \
  3426. KTARGET=$${KTARGET:-$(@)} "KFLAGS= -DSOLARIS26 $(KFLAGS)"
  3427. #Solaris 2.6 with gcc, no curses (e.g. because libtermlib is missing).
  3428. solaris26gnc:
  3429. $(MAKE) "MAKE=$(MAKE)" KTARGET=$${KTARGET:-$(@)} solaris2xgnc \
  3430. "KFLAGS= -DSOLARIS26 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3431. "LIBS= -lpam"
  3432. #Solaris 2.6, SunPro compiler, with SunLink X.25 support.
  3433. solaris26x25:
  3434. @echo 'Making C-Kermit $(CKVER) for Solaris 2.6+X.25 with SunPro cc...'
  3435. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3436. "CFLAGS = -O -i -Usun -DSVR4 -DSOLARIS26 -DDIRENT -DSUNX25 \
  3437. -DTCPSOCKET -DHDBUUCP -DSELECT -DCK_CURSES -DCK_PAM -DCK_SHADOW \
  3438. -DCK_NEWTERM -DSTERMIOX -DFNFLOAT -DPOSIX_CRTSCTS -DNOLEARN \
  3439. -I/opt/SUNWconn/include $(KFLAGS)" \
  3440. "LIBS= -ltermlib -L/opt/SUNWconn/lib -R/opt/SUNWconn/lib \
  3441. -lsockx25 -lsocket -lnsl -lm -lresolv -lpam"
  3442. #Solaris 7 (2.7) with Sun CC
  3443. solaris7:
  3444. $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  3445. "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3446. "LIBS= -lpam"
  3447. #Solaris 7 with gcc (32-bit)
  3448. solaris7g:
  3449. $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
  3450. "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3451. "LIBS= -lpam"
  3452. #Solaris 7 with gcc + Kerberos IV (32-bit)
  3453. solaris7g+krb4:
  3454. $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
  3455. "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3456. "LIBS= -lpam"
  3457. solaris7g+openssl+zlib+pam+shadow:
  3458. $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
  3459. KTARGET=$${KTARGET:-$(@)} \
  3460. "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)"
  3461. #Solaris 7 with gcc + OpenSSL (32-bit)
  3462. solaris7g+openssl+zlib+srp+pam+shadow:
  3463. $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+srp+pam+shadow \
  3464. KTARGET=$${KTARGET:-$(@)} \
  3465. "KFLAGS=-DSOLARIS7 -DCK_PAM -DCK_SHADOW $(KFLAGS)"
  3466. #Solaris 8
  3467. solaris8:
  3468. $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  3469. "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3470. "LIBS= -lpam"
  3471. #Solaris 8 with gcc (32-bit)
  3472. solaris8g:
  3473. $(MAKE) "MAKE=$(MAKE)" solaris2xg KTARGET=$${KTARGET:-$(@)} \
  3474. "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3475. "LIBS= -lpam"
  3476. # In OpenSSL builds add -ldl if you get unresolved references for
  3477. # dlclose, dlsym, dlopen, dlerror.
  3478. #Solaris 8 with gcc + OpenSSL (32-bit)
  3479. solaris8g+openssl+zlib+pam+shadow:
  3480. $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
  3481. KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSOLARIS8 $(KFLAGS)"
  3482. #Solaris 8 with gcc + Kerberos IV (32-bit)
  3483. solaris8g+krb4:
  3484. $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb4 KTARGET=$${KTARGET:-$(@)} \
  3485. "KFLAGS=-DSOLARIS8 -DCK_PAM -DCK_SHADOW $(KFLAGS)" \
  3486. "LIBS= -lpam"
  3487. solaris9nolfs:
  3488. $(MAKE) "MAKE=$(MAKE)" solaris25x KTARGET=$${KTARGET:-$(@)} \
  3489. "KFLAGS=-DSOLARIS9 -DCK_PAM -DCK_SHADOW -DUSE_STRERROR $(KFLAGS)" \
  3490. "LIBS= -lpam"
  3491. #Solaris 9 with malloc debugging
  3492. solaris9md:
  3493. $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
  3494. "CFLAGS = -DFNFLOAT -O -Usun -i -D_FILE_OFFSET_BITS=64 \
  3495. -DSOLARIS9 -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG \
  3496. -DCK_PAM -DCK_SHADOW -DUSE_STRERROR $(KFLAGS)" \
  3497. "LIBS= -lpam -ltermlib -lsocket -lnsl -lm -lresolv"
  3498. #Solaris 9 with gcc + OpenSSL + Shadow (32-bit)
  3499. #Add -DOPENSSL_097 for OpenSSL 0.9.7 or later.
  3500. solaris9g+openssl+shadow+pam+zlib:
  3501. $(MAKE) "MAKE=$(MAKE)" solaris2xg+openssl+zlib+pam+shadow \
  3502. KTARGET=$${KTARGET:-$(@)} \
  3503. "KFLAGS=-DSOLARIS9 -DHDBUUCP -DDIRENT -D_FILE_OFFSET_BITS=64 \
  3504. -DNO_DCL_INET_ATON -DZLIB -DCK_PAM -DCK_SHADOW -DLIBDES $(KFLAGS)" \
  3505. "LIBS= -lpam -ldes425 -lz $(LIBS)"
  3506. #Solaris 9 with gcc + OpenSSL + Kerberos 5 + Krb4 + Shadow (32-bit)
  3507. #Add -DOPENSSL_097 for OpenSSL 0.9.7 or later.
  3508. solaris9g+krb5+krb4+openssl+shadow+pam+zlib:
  3509. $(MAKE) "MAKE=$(MAKE)" solaris2xg+krb5+krb4+openssl+shadow \
  3510. KTARGET=$${KTARGET:-$(@)} \
  3511. "KFLAGS=-DSOLARIS9 -DHDBUUCP -DDIRENT -D_FILE_OFFSET_BITS=64 \
  3512. -DNO_DCL_INET_ATON -DZLIB -DCK_PAM -DCK_SHADOW -DLIBDES $(KFLAGS)" \
  3513. "LIBS= -lpam -ldes -lz $(LIBS)"
  3514. #Solaris 9 with gcc + Kerberos 4 and 5:
  3515. solaris9g+krb5+krb4:
  3516. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3517. "CFLAGS = -O -Usun -DSVR4 -DSOLARIS9 -DSTERMIOX -DSELECT -DFNFLOAT \
  3518. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3519. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  3520. -D_FILE_OFFSET_BITS=64 \
  3521. -DCK_ENCRYPTION -DCK_DES -DCK_CAST -DBIGBUFOK \
  3522. $(K5INC) $(K5INC)/krb5 $(KFLAGS)" \
  3523. "LIBS= $(K5LIB) -ltermlib -lsocket -lnsl -lm -lresolv \
  3524. -lkrb4 -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto \
  3525. -ldes $(LIBS)"
  3526. #Solaris 9, 10, or 11 with gcc...
  3527. #Uses streams PTYs rather than BSD ptys as in C-Kermit 8.0 and earlier.
  3528. #This target is chained to be the secure solaris9g+xxx targets below.
  3529. solaris9g solaris10g solaris11g:
  3530. @echo 'Making C-Kermit $(CKVER) for Solaris 9 or later with gcc'
  3531. @case `uname -r` in \
  3532. 5.9) SOLARISVERSION="-DSOLARIS9" ;; \
  3533. 5.10) SOLARISVERSION="-DSOLARIS10" ;; \
  3534. 5.11) SOLARISVERSION="-DSOLARIS11" ;; \
  3535. *) SOLARISVERSION="-DSOLARIS" ;; \
  3536. esac ; \
  3537. $(MAKE) "MAKE=$(MAKE)" CC="gcc -m32" CC2="gcc -m32" xermit \
  3538. KTARGET=$${KTARGET:-$(@)} \
  3539. "CFLAGS = -g -O -Usun -DSVR4 $$SOLARISVERSION -DUSE_STRERROR \
  3540. -DSTERMIOX -DSELECT -DFNFLOAT -DCK_PAM -DCK_SHADOW -funsigned-char \
  3541. -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
  3542. -DPUSH_LDTERM -DPUSH_TTCOMPAT \
  3543. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3544. -D_FILE_OFFSET_BITS=64 $(KFLAGS)" \
  3545. "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv -lpam $(LIBS)"
  3546. #Solaris 9, 10, or 11 with gcc + Kerberos 5 + OpenSSL.
  3547. #OK C-Kermit 9.0.301.
  3548. solaris9g+krb5+ssl solaris10g+krb5+ssl solaris11g+krb5+ssl:
  3549. @case `openssl version` in \
  3550. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  3551. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  3552. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  3553. *) OPENSSLOPTION="" ;; \
  3554. esac ; \
  3555. HAVE_DES=''; \
  3556. DES_LIB=''; \
  3557. if ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  3558. DES_LIB='-ldes425'; \
  3559. HAVE_DES='-DCK_DES -DLIBDES'; \
  3560. echo "HAVE DES"; \
  3561. else echo "NO DES"; \
  3562. fi; \
  3563. GSSAPILIB=''; \
  3564. K5DIR=`echo $(K5LIB) | sed 's|-L||'`; \
  3565. echo K5DIR=$$K5DIR; \
  3566. if ls $$K5DIR/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  3567. GSSAPILIB='-lgssapi_krb5'; \
  3568. else GSSAPILIB='-lgssapi'; \
  3569. fi; \
  3570. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3571. "CFLAGS = -O -Usun -DSVR4 -DSOLARIS9 -DSTERMIOX -DSELECT -DFNFLOAT \
  3572. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET -DBIGBUFOK \
  3573. -DCK_AUTHENTICATION -DCK_SSL -DZLIB -DCK_KERBEROS -DKRB5 \
  3574. -DCK_ENCRYPTION -DCK_CAST $$OPENSSLOPTION \
  3575. $$HAVE_DES $(SSLINC) $(K5INC) $(K5INC)/krb5 $(KFLAGS)" \
  3576. "LIBS= $(SSLLIB) $(K5LIB) -lz -lssl -ltermlib -lsocket -lnsl -lm \
  3577. -lresolv -lcrypto \
  3578. $$GSSAPILIB -lkrb5 -lcom_err -lk5crypto $$DES_LIB $(LIBS)"
  3579. #Solaris 9, 10, or 11 with gcc, 64 bit build.
  3580. #Peeking inside FILE struct not allowed in 64-bit world.
  3581. #DON'T USE THIS ONE ON PC ARCHITECTURE - It compiles and links but won't run.
  3582. #OK: 2009/09/25 (but not tested on Solaris 11)
  3583. solaris9g64 solaris10g64 solaris11g64:
  3584. @echo 'Making C-Kermit $(CKVER) for Solaris 9++ with gcc 64-bit'
  3585. @case `uname -r` in \
  3586. 5.9) SOLARISVERSION="-DSOLARIS9" ;; \
  3587. 5.10) SOLARISVERSION="-DSOLARIS10" ;; \
  3588. 5.11) SOLARISVERSION="-DSOLARIS11" ;; \
  3589. *) SOLARISVERSION="-DSOLARIS" ;; \
  3590. esac ; \
  3591. $(MAKE) "MAKE=$(MAKE)" CC="gcc -m64" CC2="gcc -m64" xermit \
  3592. KTARGET=$${KTARGET:-$(@)} \
  3593. "CFLAGS = -g -O -Usun -funsigned-char \
  3594. -DSVR4 $$SOLARISVERSION -DNOARROWKEYS \
  3595. -DSTERMIOX -DSELECT -DFNFLOAT -DUSE_STRERROR -DCK_PAM -DCK_SHADOW \
  3596. -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
  3597. -DPUSH_LDTERM -DPUSH_TTCOMPAT \
  3598. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  3599. "LIBS= -ltermlib -lsocket -lnsl -lm -lresolv -lpam $(LIBS)"
  3600. #Solaris 9, 10, or 11 with SunPro CC
  3601. #Uses streams PTYs rather than BSD ptys as in C-Kermit 8.0 and earlier.
  3602. #This target is chained to by the secure targets below.
  3603. #OK C-Kermit 9.0
  3604. solaris9 solaris10 solaris11:
  3605. @echo 'Making C-Kermit $(CKVER) for Solaris 9 or later with Sun CC'
  3606. @case `uname -r` in \
  3607. 5.9) SOLARISVERSION="-DSOLARIS9" ;; \
  3608. 5.10) SOLARISVERSION="-DSOLARIS10" ;; \
  3609. 5.11) SOLARISVERSION="-DSOLARIS11" ;; \
  3610. *) SOLARISVERSION="-DSOLARIS" ;; \
  3611. esac ; \
  3612. $(MAKE) "MAKE=$(MAKE)" xermit KTARGET=$${KTARGET:-$(@)} \
  3613. "CFLAGS = -O -Usun -DSVR4 $$SOLARISVERSION -DUSE_STRERROR \
  3614. -DSTERMIOX -DSELECT -DFNFLOAT -DCK_PAM -DCK_SHADOW \
  3615. -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
  3616. -DPUSH_LDTERM -DPUSH_TTCOMPAT \
  3617. -DCK_CURSES -DCK_NEWTERM -DDIRENT -DHDBUUCP -DTCPSOCKET \
  3618. -D_FILE_OFFSET_BITS=64 $(KFLAGS)" \
  3619. "LIBS= $(LIBS) -ltermlib -lsocket -lnsl -lm -lresolv -lpam"
  3620. # Solaris 9, 10, or 11 with OpenSSL built with Sun CC.
  3621. # Here's an example of how to invoke this target in case your OpenSSL
  3622. # headers and libraries are not in /usr/local:
  3623. #
  3624. # make solaris9+openssl "SSLINC=" "SSLLIB=" \
  3625. # "KFLAGS= -I/opt/openssl-0.9.8k/include -L/opt/openssl-0.9.8k/lib"
  3626. #
  3627. # Don't use 'make -e' because that inhibits passing of KFLAGS to
  3628. # the base (solaris9) target.
  3629. #
  3630. #OK C-Kermit 9.0
  3631. solaris9+ssl solaris10+ssl solaris11+ssl \
  3632. solaris9+openssl solaris10+openssl solaris11+openssl:
  3633. @echo 'Making C-Kermit $(CKVER) for Solaris 9/10/11 with OpenSSL: cc'
  3634. @case `openssl version` in \
  3635. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  3636. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  3637. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  3638. *) OPENSSLOPTION="" ;; \
  3639. esac ; \
  3640. HAVE_DES=''; \
  3641. DES_LIB=''; \
  3642. if ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  3643. DES_LIB='-ldes425'; \
  3644. HAVE_DES='-DCK_DES -DLIBDES'; \
  3645. echo "HAVE DES"; \
  3646. else echo "NO DES"; \
  3647. fi; \
  3648. $(MAKE) "MAKE=$(MAKE)" solaris9 KTARGET=$${KTARGET:-$(@)} \
  3649. "KFLAGS=-DCK_AUTHENTICATION -DCK_SSL -DZLIB $$HAVE_DES \
  3650. -DNO_DCL_INET_ATON $$OPENSSLOPTION $(SSLINC) $(KFLAGS)" \
  3651. "LIBS= $(SSLLIB) -lz -lssl $$DES_LIB -lcrypto $(LIBS)"
  3652. # Solaris 9 or later with OpenSSL, built with gcc.
  3653. # Remove -DNO_DCL_INET_ATON if inet_aton comes up missing. This target nicely
  3654. # chains to the solaris{9,10,11}g target but for some reason it doesn't work if
  3655. # you add the -DFORWARD_X option, thus the solaris9g+openssl+forward_x target.
  3656. #
  3657. #OK: 2011/06/14
  3658. solaris9g+ssl solaris10g+ssl solaris11g+ssl \
  3659. solaris9g+openssl solaris10g+openssl solaris11g+openssl:
  3660. @echo 'Making C-Kermit $(CKVER) for Solaris 9/10/11 with OpenSSL: gcc'
  3661. @case `openssl version` in \
  3662. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  3663. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  3664. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  3665. *) OPENSSLOPTION="" ;; \
  3666. esac ; \
  3667. HAVE_DES=''; \
  3668. DES_LIB=''; \
  3669. if ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  3670. DES_LIB='-ldes425'; \
  3671. HAVE_DES='-DCK_DES -DLIBDES'; \
  3672. echo "HAVE DES"; \
  3673. else echo "NO DES"; \
  3674. fi; \
  3675. $(MAKE) "MAKE=$(MAKE)" solaris9g KTARGET=$${KTARGET:-$(@)} \
  3676. "KFLAGS=-DCK_AUTHENTICATION -DCK_SSL -DZLIB $$HAVE_DES \
  3677. -DNO_DCL_INET_ATON $$OPENSSLOPTION $(SSLINC) $(KFLAGS)" \
  3678. "LIBS= $(SSLLIB) -lz -lssl $$DES_LIB -lcrypto $(LIBS)"
  3679. # Solaris 9 or later with gcc + OpenSSL + Shadow (32-bit).
  3680. # Remove -DNO_DCL_INET_ATON if inet_aton comes up missing.
  3681. # Includes long file support - not sure if this was available before Solaris 9.
  3682. # Detects Solaris version automatically.
  3683. #
  3684. solaris9g+openssl+forward_x:
  3685. @echo 'Making C-Kermit $(CKVER) for Solaris 9 or later with OpenSSL...'
  3686. @case `openssl version` in \
  3687. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  3688. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  3689. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  3690. *) OPENSSLOPTION="" ;; \
  3691. esac ; case `uname -r` in \
  3692. 5.9) SOLARISVERSION="-DSOLARIS9" ;; \
  3693. 5.10) SOLARISVERSION="-DSOLARIS10" ;; \
  3694. 5.11) SOLARISVERSION="-DSOLARIS11" ;; \
  3695. *) SOLARISVERSION="-DSOLARIS" ;; \
  3696. esac ; \
  3697. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  3698. "CFLAGS = -g -O -Usun -DSVR4 $$SOLARISVERSION \
  3699. -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME -DPUSH_PTEM \
  3700. -DPUSH_LDTERM -DPUSH_TTCOMPAT \
  3701. -DSTERMIOX -DSELECT -DFNFLOAT -DBIGBUFOK -D_FILE_OFFSET_BITS=64 \
  3702. -DCK_AUTHENTICATION -DCK_SSL -DCK_PAM -DCK_SHADOW -DZLIB -DLIBDES \
  3703. -DFORWARD_X $$OPENSSLOPTION $(SSLINC) $(KFLAGS)" \
  3704. "LIBS= $(SSLLIB) -lpam -ldes425 -lz -ltermlib \
  3705. -lsocket -lnsl -lm -lresolv -lssl -lcrypto -lpam -lz $(LIBS)"
  3706. # These two should be folded in with the ones just above.
  3707. #Solaris 9 with gcc 3.1 + OpenSSL (32-bit)
  3708. solaris9g+openssl+zlib+pam+shadow:
  3709. $(MAKE) "MAKE=$(MAKE)" solaris2xg32+openssl+zlib+pam+shadow \
  3710. KTARGET=$${KTARGET:-$(@)} \
  3711. "KFLAGS=-DSOLARIS9 -DUSE_STRERROR $(KFLAGS)"
  3712. #Solaris 10 with gcc 3.1 + OpenSSL (32-bit)
  3713. solaris10g+openssl+zlib+pam+shadow:
  3714. $(MAKE) "MAKE=$(MAKE)" solaris2xg32+openssl+zlib+pam+shadow \
  3715. KTARGET=$${KTARGET:-$(@)} \
  3716. "KFLAGS=-DSOLARIS10 -DUSE_STRERROR $(KFLAGS)"
  3717. #The following (old, old) sunosxxx entries are for debugging and testing only.
  3718. sunos41x:
  3719. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3720. "CFLAGS= -O -DSUNOS41 -DDIRENT -DNOTLOG -DNOMSEND \
  3721. -DNOUUCP -DNOSIGWINCH -DNOREDIRECT -DNOPUSH -DNOCCTRAP \
  3722. -DNOICP -DNOLOCAL $(KFLAGS)"
  3723. #SunOS 4.1.x, debugging with Pure Software, Inc., Purify 2 (commercial runtime
  3724. #error-detection software for catching wild array references, etc).
  3725. #Before running the resulting wermit, you'll also need to define and export
  3726. #the following environment variables (as in this example):
  3727. #PURIFYHOME=/usr/local/purify ; export PURIFYHOME
  3728. #PURIFYCACHEDIR=/tmp ; export PURIFYCACHEDIR
  3729. sunos41cp:
  3730. @echo Making C-Kermit $(CKVER) for SunOS 4.1 / BSD / Curses / Purify...
  3731. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3732. "CC2= purify -cache_dir=/usr/tmp cc" \
  3733. "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  3734. -DSAVEDUID -DCK_CURSES $(KFLAGS)" \
  3735. "LIBS= -lcurses -ltermcap"
  3736. #SunOS 4.1 with malloc debugger
  3737. sunos41md:
  3738. @echo Making C-Kermit $(CKVER) for SunOS 4.1 malloc debug...
  3739. $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} \
  3740. "CFLAGS= -O -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  3741. -DSAVEDUID $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG"
  3742. sunos41gmd:
  3743. @echo Making C-Kermit $(CKVER) for SunOS 4.1 with gcc and curses...
  3744. $(MAKE) mermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
  3745. "CFLAGS= -g -DSUNOS41 -DHDBUUCP -DDIRENT -DTCPSOCKET \
  3746. -DNDGPWNAM -DSAVEDUID -DCK_CURSES -DRLOGCODE \
  3747. $(KFLAGS) -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG" \
  3748. "LIBS= -lcurses -ltermcap"
  3749. #SunOS version 4.1, gcc, profiling with gprof, no debugging.
  3750. #To get profile, "make sunos41p" (on Sun), then "./wermit". After running
  3751. #wermit, "gprof ./wermit | lpr" (or whatever) to get execution profile.
  3752. sunos41p:
  3753. @echo Making C-Kermit $(CKVER) for SunOS 4.x with profiling...
  3754. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC= gcc " "CC2= gcc" \
  3755. "CFLAGS= -DSUNOS41 -DNODEBUG -DSAVEDUID -DDIRENT -DTCPSOCKET \
  3756. -DNDGPWNAM $(KFLAGS) -pg" "LNKFLAGS = -pg"
  3757. #SunOS version 4.1 or later, BSD environment, minimum features.
  3758. sunos41min:
  3759. @echo Minimum interactive
  3760. $(MAKE) "MAKE=$(MAKE)" sunos41 KTARGET=$${KTARGET:-$(@)} \
  3761. "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNORETRY \
  3762. -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS \
  3763. -DNOSHOW -DNOSETKEY -DNOUUCP -DNORECALL -DNOREDIRECT \
  3764. -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
  3765. -DNONET -DCK_SMALL -DNOCKSPEED -DNOCKTIMERS -DNOLOGIN \
  3766. -DNOCKXYZ -DNOKERBEROS -DNOMKDIR -DNOPATTERNS -DNOPERMS -DNOPIPESEND \
  3767. -DNORECURSIVE -DNORENAME -DNORESEND -DNOSETKEY \
  3768. -DNOTRIGGER -DNOTUNING $(KFLAGS)" "LNKFLAGS = -s"
  3769. #SunOS version 4.1, BSD environment, min size, command-line only...
  3770. sunos41m:
  3771. @echo Minimum size
  3772. $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  3773. "KFLAGS=-DNOICP $(KFLAGS)"
  3774. #SunOS version 4.1, BSD environment, min size, cmd-line only, remote only...
  3775. #
  3776. sunos41mr:
  3777. @echo Minimum size
  3778. $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  3779. "KFLAGS=-DNOICP -DNOLOCAL $(KFLAGS)"
  3780. #SunOS version 4.1, BSD environment, min size, interactive...
  3781. sunos41mi:
  3782. @echo Minimum size
  3783. $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  3784. "KFLAGS=-DNOCMDL $(KFLAGS)"
  3785. #SunOS version 4.1, BSD environment, min size, interactive, remote only...
  3786. sunos41mir:
  3787. @echo Minimum size
  3788. $(MAKE) "MAKE=$(MAKE)" sunos41min KTARGET=$${KTARGET:-$(@)} \
  3789. "KFLAGS=-DNOCMDL -DNOLOCAL $(KFLAGS)"
  3790. #SunOS 4.1, System V R3 environment (-i option omitted).
  3791. sunos41s5:
  3792. @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  3793. @echo For testing purposes only - NOT for production use.
  3794. @echo For a useable version, make sunos41 instead.
  3795. $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  3796. KTARGET=$${KTARGET:-$(@)} \
  3797. "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DNOLEARN -DCK_POLL $(KFLAGS) -O"
  3798. #As above, but with curses support
  3799. sunos41s5c:
  3800. @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  3801. @echo Curses included.
  3802. @echo For testing purposes only - NOT for production use.
  3803. @echo For a useable version, make sunos41 instead.
  3804. $(MAKE) wermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  3805. KTARGET=$${KTARGET:-$(@)} \
  3806. "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DNOLEARN \
  3807. -DCK_POLL -DCK_CURSES -DCK_NEWTERM $(KFLAGS) -O" "LIBS= -lcurses"
  3808. #As above, but with curses support AND net support
  3809. sunos41s5tcpc:
  3810. @echo Making C-Kermit $(CKVER) for SunOS 4.1 System V R3...
  3811. @echo TCP/IP and curses included. No debug log.
  3812. @echo For testing purposes only - NOT for production use.
  3813. @echo For a useable version, make sunos41 instead.
  3814. $(MAKE) xermit "CC= /usr/5bin/cc " "CC2=/usr/5bin/cc " \
  3815. KTARGET=$${KTARGET:-$(@)} \
  3816. "CFLAGS = -DSUN4S5 -DDIRENT -DHDBUUCP -DCK_POLL \
  3817. -DNODEBUG -DCK_CURSES -DCK_NEWTERM -DTCPSOCKET $(KFLAGS) -O" \
  3818. "LIBS= -lcurses -lresolv"
  3819. # (End of SunOS test entries...)
  3820. #Apollo with Domain SR10.0 or later, BSD environment
  3821. #Reportedly, it might also help to add '-A,systype=bsd4.3' to CFLAGS.
  3822. #Reportedly, there is also a problem with getc & putc macros that can
  3823. #be handled by using '#ifdef apollo' somewhere to redefine them???
  3824. #On the other hand, other reports indicate that it works fine as-is.
  3825. #NOTE: This entry was previously like this:
  3826. # $(MAKE) wermit "CFLAGS= -DNOFILEH -DBSD4 $(KFLAGS) -Uaegis \
  3827. # -DTCPSOCKET -U__STDC__"
  3828. #Reports (Dec 91) indicate SR10 has an ANSI-compliant C compiler,
  3829. #in addition to an older one that claimed to be ANSI-compliant but wasn't.
  3830. #The following make entry (plus checks that are made in ckcdeb.h) detect
  3831. #which compiler is used and define the CK_ANSIC or NOANSI flags accordingly.
  3832. sr10-bsd:
  3833. @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / BSD ...
  3834. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3835. "CFLAGS= -O -DAPOLLOSR10 -DBSD43 -DTCPSOCKET -DCK_CURSES -DNOLEARN \
  3836. -Uaegis $(KFLAGS)" "LIBS= -lcurses -ltermcap"
  3837. #Apollo with Domain SR10.0 or later, System V R3 environment.
  3838. #Don't use the optimizer (-O), it causes problems at runtime.
  3839. sr10-s5r3:
  3840. @echo Making C-Kermit $(CKVER) for Apollo SR10.0 / Sys V R3 ...
  3841. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3842. "CFLAGS= -DNOFILEH -DSVR3 -DAPOLLOSR10 -DNOLEARN $(KFLAGS) \
  3843. -Uaegis -U__STDC__"
  3844. #Apollo Domain/IX (untested, try this if sr10-bsd doesn't work)
  3845. # -DTCPSOCKET can probably be added here.
  3846. apollobsd:
  3847. @echo Making C-Kermit $(CKVER) for Apollo Domain/IX...
  3848. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3849. "CC= /bin/cc " "CC2= /bin/cc " \
  3850. "CFLAGS= -DNOFILEH -DBSD4 -DAPOLLOBSD -DNOLEARN $(KFLAGS) -Uaegis"
  3851. #Version 7 Unix (see comments near top of makefile)
  3852. v7:
  3853. @echo Making C-Kermit $(CKVER) for UNIX Version 7.
  3854. @echo Read the makefile if you have trouble with this...
  3855. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3856. "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
  3857. -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
  3858. -DNPTYPE=$(NPTYPE) $(DIRECT) -DO_RDWR=2 -DO_NDELAY=0 -DO_SCCS_ID \
  3859. -DNOLEARN $(KFLAGS)"
  3860. #AT&T UNIX System V R3, signal() is void rather than int.
  3861. #Uses dirent.h and Honey DanBer UUCP.
  3862. #Add the -i link option if necessary.
  3863. #If you get errors like "ws_row undefined" in ckutio.c, add -DNONAWS.
  3864. sys5r3:
  3865. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  3866. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3867. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS) -O" \
  3868. "LNKFLAGS="
  3869. #As above, plus curses.
  3870. sys5r3c:
  3871. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3 + curses...'
  3872. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3873. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES -DNONAWS -DNOLEARN \
  3874. $(KFLAGS) -O" "LNKFLAGS=" "LIBS = -ltermlib"
  3875. #System V R3.2 for PCs built on Interactive UNIX SV/386 R4.x
  3876. #but with all calls to dup2() disabled because generic SVR3 does not have dup2.
  3877. # (The -linet library might not need to be in this one.)
  3878. sys5r32is:
  3879. @echo 'Making C-Kermit $(CKVER) for System V/386 R32
  3880. $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  3881. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
  3882. -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES -DNONAWS \
  3883. -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD -DNOFDZERO -DNOREDIRECT \
  3884. -DNOZEXEC -DNOLEARN $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
  3885. #System V R3.2 for PCs built on Interactive UNIX SV/386 R4.x
  3886. #but with all calls to dup2() disabled because generic SVR3 does not have dup2.
  3887. #With TCP/IP added.
  3888. sys5r32isnet:
  3889. @echo 'Making C-Kermit $(CKVER) for System V/386 R32 + TCP/IP
  3890. $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  3891. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
  3892. -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES -DNONAWS \
  3893. -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD -DNOFDZERO -DNOREDIRECT \
  3894. -DNOLEARN -DNOZEXEC -DTCPSOCKET $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
  3895. iclsys5r3:
  3896. make sys5r3 KTARGET=$${KTARGET:-$(@)} KFLAGS=-DICLSVR3
  3897. #AT&T UNIX System V R3. As above, but no ANSI prototyping.
  3898. sys5r3na:
  3899. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  3900. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3901. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -DNOANSI -DNOLEARN $(KFLAGS) -O" \
  3902. "LNKFLAGS="
  3903. #AT&T UNIX System V R3, for 3B computers with Wollongong TCP/IP.
  3904. sys5r3net3b:
  3905. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX SVR3/3B/Wollongong...'
  3906. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3907. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DWOLLONGONG -DNOLEARN $(KFLAGS) \
  3908. -O" "LIBS= -lnet -lnsl_s" "LNKFLAGS ="
  3909. #AT&T UNIX System V R3, signal() is void rather than int.
  3910. #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
  3911. #Has <termiox.h> for RTS/CTS flow control.
  3912. sys5r3tx:
  3913. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  3914. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3915. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTERMIOX -DNOLEARN \
  3916. $(KFLAGS) -i -O" "LNKFLAGS ="
  3917. #AT&T UNIX System V R3, signal() is void rather than int.
  3918. #Uses dirent.h and Honey DanBer uucp, has <termiox.h>.
  3919. #Has <sys/termiox.h> for RTS/CTS flow control.
  3920. sys5r3sx:
  3921. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R3...'
  3922. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3923. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
  3924. $(KFLAGS) -i -O" "LNKFLAGS ="
  3925. #AT&T UNIX System V R4.
  3926. #Has <termiox.h>.
  3927. sys5r4:
  3928. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3929. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3930. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DTERMIOX -DNOLEARN $(KFLAGS)" \
  3931. "LNKFLAGS = -s"
  3932. #AT&T UNIX System V R4 with Wollongong TCP/IP.
  3933. #Has <termiox.h>.
  3934. sys5r4net:
  3935. @echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
  3936. @echo ' If sockets-library routines are missing at link time, then'
  3937. @echo ' try the sys5r4net2 entry.'
  3938. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3939. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN \
  3940. -DTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
  3941. #As above, but needs libs included.
  3942. sys5r4net2:
  3943. @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
  3944. @echo ' (Search for WOLLONGONG...)'
  3945. $(MAKE) sys5r4net KTARGET=$${KTARGET:-$(@)} "LIBS= -lsocket -lnsl"
  3946. #As above plus curses.
  3947. sys5r4net2c:
  3948. echo 'Making C-Kermit $(CKVER) for System V R4 + Wollongong TCP/IP...'
  3949. @echo ' PLEASE READ ckuins.txt IF YOU GET MISSING HEADER FILES.'
  3950. @echo ' (Search for WOLLONGONG...)'
  3951. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  3952. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN \
  3953. -DTERMIOX -DWOLLONGONG -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
  3954. "LIBS= -lsocket -lnsl -lcurses"
  3955. #DELL UNIX System V R4.
  3956. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  3957. #are not misplaced in sys (rather than netinet and arpa, respectively).
  3958. #Uses ANSI C constructs, advisory file locking on devices, etc.
  3959. #Warning: -DSTERMIOX enables hardware flow control (RTS/CTS), but reportedly
  3960. #this does not work with the normal drivers. However, it might still work
  3961. #on non-Dell systems, or even Dell systems with different drivers installed.
  3962. dellsys5r4:
  3963. @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  3964. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3965. "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
  3966. -DTCPSOCKET -DSTERMIOX -DCK_POLL $(KFLAGS)" \
  3967. "LIBS= -lsocket -lnsl" "LNKFLAGS = -s"
  3968. #As above, curses support added...
  3969. dellsys5r4c:
  3970. @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  3971. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3972. "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT -DHDBUUCP \
  3973. -DTCPSOCKET -DSTERMIOX -DCK_CURSES -DCK_POLL \
  3974. $(KFLAGS)" "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  3975. #Minimum interactive: As above, but with every conceivable option removed.
  3976. dellsys5r4mi:
  3977. @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  3978. @echo 'Minimum-size interactive'
  3979. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3980. "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
  3981. -UTCPSOCKET -DNOCMDL -DNOSPL -DNOXMIT -DCK_POLL \
  3982. -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  3983. -DNOSCRIPT -DNOCSETS -DNOSHOW -DNOSETKEY -DNOSERVER -DNOUUCP \
  3984. -DNOPUSH -DNOMDMHUP -DNOJC -DNOFDZERO -DNOESCSEQ \
  3985. $(KFLAGS)" "LNKFLAGS = -s"
  3986. #Command-line only version.
  3987. dellsys5r4m:
  3988. @echo 'Making C-Kermit $(CKVER) for DELL UNIX System V R4...'
  3989. @echo 'Command-line only'
  3990. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  3991. "CFLAGS = -O -DSVR4 -DDELL_SVR4 -DDIRENT \
  3992. -UTCPSOCKET -DNOICP -DNOFRILLS -DNODIAL -DNODEBUG -DNOTLOG -DNOCSETS \
  3993. -DNOSETKEY -DNOESCSEQ -DNOJC -DNOFDZERO -DCK_POLL \
  3994. $(KFLAGS)" "LNKFLAGS = -s"
  3995. #AT&T UNIX System V R4.
  3996. #Has <sys/termiox.h>.
  3997. sys5r4sx:
  3998. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  3999. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4000. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
  4001. $(KFLAGS)" "LNKFLAGS = -s" "LIBS=$(LIBS)"
  4002. #AT&T UNIX System V R4.
  4003. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  4004. #are not misplaced in sys (rather than netinet and arpa, respectively).
  4005. #Uses ANSI C constructs, <sys/termiox.h>, etc etc.
  4006. sys5r4sxtcp:
  4007. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4008. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4009. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  4010. -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  4011. "LIBS= -lsocket -lnsl $(LIBS)" "LNKFLAGS= -s"
  4012. #AT&T UNIX System V R4.
  4013. #As above + curses.
  4014. sys5r4sxtcpc:
  4015. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4016. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4017. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  4018. -DSTERMIOX -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
  4019. "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)" "LNKFLAGS = -s"
  4020. #AT&T UNIX System V R4. CONSENSYS SVR4.2-1.
  4021. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  4022. #are not misplaced in sys (rather than netinet and arpa, respectively).
  4023. #Uses ANSI C constructs, <sys/termiox.h>, etc.
  4024. # Fullscreen -DCK_CURSES added (with curses & termcap libs)
  4025. # Submission by Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu
  4026. sys5r4sxtcpf:
  4027. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4028. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4029. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  4030. -DSTERMIOX -DTCPSOCKET -DCK_CURSES $(KFLAGS)" \
  4031. "LIBS= -lsocket -lnsl -L/usr/ccs/lib -lcurses -ltermcap" \
  4032. "LIBS=$(LIBS)" "LNKFLAGS = -s"
  4033. #Smallest possible version for System V R4
  4034. s5r4m:
  4035. @echo Minimum size
  4036. $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  4037. "KFLAGS=$(KFLAGS) -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  4038. -DNOSCRIPT -DNOCSETS -DNOICP -DNOMSEND -UTCPSOCKET" "LNKFLAGS = -s"
  4039. #Smallest possible interactive version of above
  4040. s5r4mi:
  4041. @echo Minimum interactive
  4042. $(MAKE) "MAKE=$(MAKE)" sys5r4sx \
  4043. "KFLAGS=-DNOSPL -DNOXMIT -DNOMSEND -DNOFRILLS -DNOSHOW \
  4044. -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOSETKEY \
  4045. -UTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s"
  4046. #AT&T UNIX System V R4, has <sys/termiox.h>
  4047. #ANSI C function prototyping disabled.
  4048. sys5r4sxna:
  4049. @echo No ANSI C prototyping...
  4050. $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  4051. "KFLAGS=$(KFLAGS) -DNOANSI"
  4052. #Stratus FTX.
  4053. ftx:
  4054. @echo 'Making C-Kermit $(CKVER) for Stratus FTX 3.x...'
  4055. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4056. "CFLAGS = -O -DSVR4 -DFTX -DDIRENT -DHDBUUCP -DSTERMIOX \
  4057. -DNOGETUSERSHELL -DNOLEARN +DA1.1 $(KFLAGS)" \
  4058. "LNKFLAGS = -s" "LIBS=$(LIBS)"
  4059. #Stratus FTX + TCP/IP.
  4060. ftxtcp:
  4061. @echo 'Making C-Kermit $(CKVER) for Stratus FTX 3.x...'
  4062. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4063. "CFLAGS = -O -DSVR4 -DFTX -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4064. -DSTERMIOX -DTCPSOCKET -DNO_DNS_SRV +DA1.1 $(KFLAGS)" \
  4065. "LIBS= -lsocket -lnsl $(LIBS)" "LNKFLAGS= -s"
  4066. #NCR MP-RAS 2.03 or 3.02
  4067. mpras:
  4068. @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS...'
  4069. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4070. "CFLAGS = -O -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX \
  4071. -DNOGETUSERSHELL -DUSE_FILE__CNT -DNOLEARN -DNO_DNS_SRV $(KFLAGS)" \
  4072. "LNKFLAGS = -s" "LIBS=$(LIBS)"
  4073. #NCR MP-RAS 2.03 or 3.02 with TCP/IP and curses
  4074. mprastcpc:
  4075. @echo 'Making C-Kermit $(CKVER) for NCR MP-RAS + TCP/IP + curses...'
  4076. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CFLAGS=-DTCPSOCKET \
  4077. -DCK_CURSES -DSVR4 -DNCRMPRAS -DDIRENT -DHDBUUCP -DSTERMIOX -DNOLEARN \
  4078. -DNOGETUSERSHELL -DNO_DNS_SRV DUSE_FILE__CNT -O $(KFLAGS)" \
  4079. "LNKFLAGS = -s" "LIBS= -lsocket -lnsl -lcurses -ltermcap $(LIBS)"
  4080. #SINIX-L V5.41 - includes curses, tcp/ip - Use this one for i386.
  4081. #This version of SINIX doesn't like fdopen() or popen().
  4082. sinix541:
  4083. @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX V5.41/i386'
  4084. $(MAKE) ckcpro.$(EXT) "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP \
  4085. -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV \
  4086. -DSNI541 -DNOGETUSERSHELL -DNONETCMD -DNOPOPEN -kansi -W0 $(KFLAGS)"
  4087. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4088. "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DNOPOPEN \
  4089. -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
  4090. -DSNI541 -DNOGETUSERSHELL -DNONETCMD -kansi -W0 -O $(KFLAGS)" \
  4091. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
  4092. sinix541i:
  4093. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sinix541
  4094. #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for MIPS.
  4095. # As of C-Kermit 7.1, optimization removed -- takes (literally) forever.
  4096. sinix542:
  4097. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4098. "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
  4099. -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
  4100. -DSNI542 -DNOGETUSERSHELL -kansi -W0 $(KFLAGS)" \
  4101. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" "LNKFLAGS = -s"
  4102. #SINIX V5.42 gcc - includes curses, tcp/ip, everything.
  4103. #This one was used to build the Pyramid-architecture RM600 version
  4104. #on SINIX-P 5.42 A10 with gcc but should work for SINIX 5.42 on any other
  4105. #architecture with gcc.
  4106. sinix542g:
  4107. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
  4108. "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DNO_DNS_SRV \
  4109. -DFNFLOAT -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC \
  4110. -DSNI542 -DNOGETUSERSHELL $(KFLAGS)" \
  4111. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" \
  4112. "LNKFLAGS = -s"
  4113. #SINIX V5.42 - includes curses, tcp/ip, everything - Use this one for Intel.
  4114. # (Note: SNI discontinued Intel support after 5.42.)
  4115. sinix542i:
  4116. @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf SINIX-Z V5.42...'
  4117. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4118. "CFLAGS = -DSINIX -DSVR4 -DDIRENT -DHDBUUCP -DFNFLOAT -DSTERMIOX \
  4119. -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DNO_DNS_SRV -kansi \
  4120. -DSNI542 $(KFLAGS)" \
  4121. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lm" \
  4122. "LNKFLAGS = -s"
  4123. #Siemens Nixdorf Reliant UNIX V5.43 - includes curses, tcp/ip, everything:
  4124. # . gettimeofday() suddenly has only one arg instead of two (GTODONEARG).
  4125. # . The syntax of the Olimit specifier changed.
  4126. # . The name was changed from SINIX to Reliant UNIX in version 5.43C.
  4127. sni543:
  4128. @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.43'
  4129. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4130. "CFLAGS = -DSINIX -DSNI543 -DSVR4 -DDIRENT -DHDBUUCP \
  4131. -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
  4132. -DNO_DNS_SRV -kansi -W0 -O -F Olimit,3100 $(KFLAGS)" \
  4133. "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  4134. #Siemens Nixdorf Reliant UNIX V5.44 - Like 5.43 but with different banner.
  4135. sni544:
  4136. @echo 'Making C-Kermit $(CKVER) for Siemens/Nixdorf Reliant UNIX V5.44'
  4137. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4138. "CFLAGS = -DSINIX -DSNI544 -DSVR4 -DDIRENT -DHDBUUCP \
  4139. -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DSELECT -DCK_ANSIC -DGTODONEARG \
  4140. -DNO_DNS_SRV -kansi -W0 -O -K Olimit,3100 $(KFLAGS)" \
  4141. "LIBS= -lsocket -lnsl -lcurses -ltermcap" "LNKFLAGS = -s"
  4142. #Commodore Amiga with AT&T UNIX System V R4 and TCP/IP support.
  4143. #Has <sys/termiox.h>.
  4144. svr4amiganet:
  4145. @echo 'Making C-Kermit $(CKVER) for Amiga SVR4 + TCP/IP...'
  4146. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC=gcc" "CC2=gcc" \
  4147. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DSTERMIOX \
  4148. -DTCPSOCKET -DCK_CURSES $(KFLAGS)" "LNKFLAGS = -s" \
  4149. "LIBS = -lsocket -lnsl -ltermlib"
  4150. #SCO (Novell (Univel)) UnixWare 1.x or 2.0, no TCP/IP.
  4151. #This assumes the Novell SDK 1.0, which has <sys/termiox.h>.
  4152. #UnixWare users with the "Prime Time Freeware" CD-ROM SDK will probably have
  4153. #to use the sys5r4 entry (no termiox.h file, so no hardware flow control).
  4154. #Change -DSELECT to -DCK_POLL if -DSELECT causes problems.
  4155. # NOTE: Unixware 1.x builds have not been tried in C-Kermit 7.0.
  4156. unixware:
  4157. $(MAKE) "MAKE=$(MAKE)" sys5r4sx KTARGET=$${KTARGET:-$(@)} \
  4158. "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
  4159. -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt"
  4160. #UnixWare 1.x or 2.0 with TCP/IP and curses.
  4161. #fork()-based CONNECT - no high serial speeds.
  4162. unixwarenetc:
  4163. $(MAKE) "MAKE=$(MAKE)" sys5r4sxtcpc KTARGET=$${KTARGET:-$(@)} \
  4164. "KFLAGS=-DOLD_UNIXWARE -DCK_NEWTERM -DSELECT -DNOGETUSERSHELL \
  4165. -DNOSYSLOG $(KFLAGS)" "LIBS=-lcrypt -lresolv"
  4166. uw10:
  4167. $(MAKE) unixwarenetc KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  4168. #This is for Unixware 2.0.x only - use unixware21 for UW 2.1.x.
  4169. #Has special library search and enables special kludge around library
  4170. #foulup regarding vfork() (which Kermit doesn't use). Forces POSIX-style
  4171. #hangup.
  4172. unixware20:
  4173. @echo 'Making C-Kermit $(CKVER) for UnixWare 2.0.x...'
  4174. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4175. "CFLAGS = -O -DOLD_UNIXWARE -DUNIXWARE2 -DSELECT -DSVR4 -DDIRENT \
  4176. -DHDBUUCP -DBIGBUFOK -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES \
  4177. -DTCPSOCKET -DUW200 -DFNFLOAT -DCK_NEWTERM -DNOSYSLOG $(KFLAGS)" \
  4178. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lgen -lm -lresolv" \
  4179. "LNKFLAGS = -s"
  4180. uw20:
  4181. $(MAKE) unixware20 KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  4182. #Adds big buffers ("large memory model") - otherwise the same as UnixWare 1.x.
  4183. unixware21:
  4184. @echo 'Making C-Kermit $(CKVER) for UnixWare 2.1.x...'
  4185. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4186. "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4187. -DNOSYSLOG -DSTERMIOX -DCK_CURSES -DTCPSOCKET \
  4188. -DCK_NEWTERM -DFNFLOAT -DUNIXWARE2 $(KFLAGS)" \
  4189. "LIBS= -lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
  4190. $(LIBS)" "LNKFLAGS = -s"
  4191. #Unixware 2.1.0
  4192. uw21:
  4193. $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  4194. #Unixware 2.1.3
  4195. uw213:
  4196. $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} \
  4197. "KFLAGS=-DUSE_FILE__CNT $(KFLAGS)"
  4198. #Unixware 2.1 with IKSD support
  4199. uw21iksd:
  4200. $(MAKE) unixware21 KTARGET=$${KTARGET:-$(@)} \
  4201. "KFLAGS=-DCK_SHADOW $(KFLAGS)" "LIBS= -lgen"
  4202. #UnixWare 7 with tc[gs]etspeed() high serial speeds & select()-based CONNECT
  4203. #and as of C-Kermit 8.0.212, large file support (LFS).
  4204. #NOTE: This is the one we use.
  4205. unixware7t:
  4206. @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
  4207. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4208. "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4209. -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  4210. -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL \
  4211. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DNEEDMDMDEFS $(KFLAGS)" \
  4212. "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  4213. "LNKFLAGS = -s"
  4214. #UnixWare 7 - select()-based CONNECT - no POSIX i/o - no high serial speeds.
  4215. #In other words, just like the UnixWare 1 and 2 builds.
  4216. unixware7x:
  4217. @echo 'Making C-Kermit $(CKVER) for UnixWare 7...'
  4218. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4219. "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4220. -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
  4221. -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
  4222. "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  4223. "LNKFLAGS = -s"
  4224. #UnixWare 7 with POSIX cfset[oi]speed() to allow high serial speeds.
  4225. #(but the high speeds don't work)
  4226. unixware7p:
  4227. @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with POSIX i/o...'
  4228. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4229. "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4230. -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  4231. -DFNFLOAT -DCK_NEWTERM -DNOLSTAT $(KFLAGS)" \
  4232. "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  4233. "LNKFLAGS = -s"
  4234. # UnixWare 7 built with gcc - This does not work at all...
  4235. # Reportedly gcc 2.8.1 is broken on Unixware 7. Try egcs?
  4236. unixware7g:
  4237. @echo 'Making C-Kermit $(CKVER) for UnixWare 7 with gcc...'
  4238. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4239. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
  4240. "CFLAGS = -O -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4241. -DUW7 -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DNOLSTAT \
  4242. -DFNFLOAT -DCK_NEWTERM $(KFLAGS)" \
  4243. "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv $(LIBS)" \
  4244. "LNKFLAGS = -s"
  4245. unixware7:
  4246. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
  4247. KTARGET=$${KTARGET:-$(@)}
  4248. uw7:
  4249. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" unixware7t \
  4250. KTARGET=$${KTARGET:-$(@)}
  4251. #SCO OpenUNIX 8.0
  4252. ou8:
  4253. @echo 'Making C-Kermit $(CKVER) for Open UNIX 8...'
  4254. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DOU8 $(KFLAGS)" unixware7t \
  4255. KTARGET=$${KTARGET:-$(@)}
  4256. #UnixWare 7 with OpenSSL
  4257. uw7ssl uw7+ssl:
  4258. @echo 'Making C-Kermit $(CKVER) for UnixWare 7 and OpenSSL...'
  4259. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4260. "CFLAGS = -O -DCK_AUTHENTICATION -DCK_SSL -DCK_SHADOW \
  4261. -DUNIXWARE -DSELECT -DSVR4 -DDIRENT -DHDBUUCP -DBIGBUFOK \
  4262. -DFNFLOAT -DNOGETUSERSHELL -DSTERMIOX -DCK_CURSES -DTCPSOCKET -DPOSIX \
  4263. -DUW7 -DUSETCSETSPEED -DCK_NEWTERM -DNOLSTAT -DDCLTIMEVAL \
  4264. $(SSLINC) $(KFLAGS)" \
  4265. "LIBS=-lsocket -lnsl -lcurses -ltermcap -lcrypt -lm -lresolv \
  4266. -lgen -lcudk70 $(SSLLIB) -lssl -lcrypto $(LIBS)" \
  4267. "LNKFLAGS = -s"
  4268. #As above but includes Shadow password support needed for IKSD.
  4269. uw7iksd:
  4270. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
  4271. KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen" unixware7t
  4272. #As above but links with static API for realpath() so a binary built
  4273. #with this target on UW7.1 will also work on 7.0. Requires SCO UDK
  4274. #rather than the stock compiler.
  4275. uw7iksdudk:
  4276. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=-DCK_SHADOW $(KFLAGS)" \
  4277. KTARGET=$${KTARGET:-$(@)} "LIBS= -lgen -lcudk70" unixware7t
  4278. #ESIX SVR4.0.3 or 4.04 with TCP/IP support.
  4279. #Has <sys/termiox.h>, ANSI C function prototyping disabled.
  4280. #Add -m486 to CFLAGS if desired.
  4281. esixr4:
  4282. @echo 'Making C-Kermit $(CKVER) for ESIX SVR4 + TCP/IP...'
  4283. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4284. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOANSI \
  4285. -DSTERMIOX -DTCPSOCKET $(KFLAGS)" "LNKFLAGS = -s" \
  4286. "LIBS = -lsocket -lnsl"
  4287. #AT&T UNIX System V R4.
  4288. #Has <sys/termiox.h>, Wollongong WIN/TCP TCP/IP.
  4289. sys5r4sxnet:
  4290. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4291. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4292. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  4293. -DSTERMIOX -DWOLLONGONG $(KFLAGS)" "LNKFLAGS = -s"
  4294. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>.
  4295. sys5r4nx:
  4296. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4297. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4298. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS)" \
  4299. "LNKFLAGS = -s"
  4300. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, curses, TCP/IP.
  4301. sys5r4nxnetc:
  4302. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4303. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4304. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP \
  4305. -DCK_CURSES -DTCPSOCKET $(KFLAGS)" \
  4306. "LIBS = -lcurses -lsocket -lnsl -ltcpip" \
  4307. "LNKFLAGS = -s"
  4308. #AT&T UNIX System V R4, no <termio.x> or <sys/termio.x>, Wollongong TCP/IP.
  4309. sys5r4nxtwg:
  4310. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System V R4...'
  4311. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4312. "CFLAGS = -O -DSVR4 -DDIRENT -DHDBUUCP -DWOLLONGONG $(KFLAGS)"
  4313. "LNKFLAGS = -s"
  4314. #ICL UNIX System V R4.(DRS N/X) version :-
  4315. #UNIX System V Release 4.0 ICL DRS 6000 (SPARC)
  4316. #DRS/NX 6000 SVR4 Version 5 Level 1 Increment 4
  4317. #Has <sys/termiox.h>, regular Berkeley sockets library, i.e. in.h and inet.h
  4318. #are not misplaced in sys (rather than netinet and arpa, respectively).
  4319. #Uses ANSI C constructs, advisory file locking on devices, etc.
  4320. #Remove -lnsl if it causes trouble.
  4321. iclsys5r4:
  4322. @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 (DRS N/X)'
  4323. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4324. "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4325. -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  4326. "LIBS= -lsocket -lnsl -lresolv " "LNKFLAGS = -s"
  4327. #As above but for DRS/NX 4.2MP 7MPlus.
  4328. iclsys5r4m+:
  4329. @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
  4330. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4331. "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOIKSD \
  4332. -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  4333. "LIBS= -lsocket -lnsl -lm -lc -g -lgen " "LNKFLAGS = -s"
  4334. #As above but for DRS/NX 4.2MP 7MPlus with IKSD support.
  4335. iclsys5r4m+iksd:
  4336. @echo 'Making C-Kermit $(CKVER) for ICL UNIX System V R4 DRS/NX 4.2MP+'
  4337. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4338. "CFLAGS = -O -DSVR4 -DICL_SVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4339. -DSTERMIOX -DTCPSOCKET $(KFLAGS)" \
  4340. "LIBS= -lsocket -lnsl -lm -lc -g -lgen -lresolv " "LNKFLAGS = -s"
  4341. iclsys5r4_486:
  4342. $(MAKE) "MAKE=$(MAKE)" iclsys5r4 KTARGET=$${KTARGET:-$(@)}
  4343. #Data General DG/UX 4.30 (System V R3) for DG AViiON, with TCP/IP support.
  4344. dgux430:
  4345. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
  4346. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4347. "CFLAGS = -O -DDGUX430 -DSVR3 -DDIRENT -DTCPSOCKET \
  4348. -DNOINADDRX -DNOGETUSERSHELL $(KFLAGS)"
  4349. #Data General DG/UX 4.30 for DG AViiON, with TCP/IP support with BSDisms.
  4350. dgux430bsd:
  4351. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 4.30...'
  4352. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4353. "CFLAGS = -O -DDGUX430 -D_BSD_SOURCE -DBSD4 \
  4354. -DNOINADDRX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)"
  4355. #Data General DG/UX 5.4 (System V R4) for DG AViiON, with TCP/IP support.
  4356. #Add -lsocket -lnsl if inet_addr comes up missing...
  4357. #Hmmm - I really think CK_POLL can be removed from this one in which case
  4358. #there is no difference between dgux540 and dgux540i.
  4359. dgux540:
  4360. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  4361. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4362. "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  4363. -DSTERMIOX -DTCPSOCKET -DCK_POLL -DNOGETUSERSHELL $(KFLAGS)"
  4364. #Data General DG/UX 5.40 (System V R4) for Intel AViiON, with TCP/IP support.
  4365. dgux540i:
  4366. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  4367. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4368. "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  4369. -DSTERMIOX -DTCPSOCKET -DNOGETUSERSHELL $(KFLAGS)" \
  4370. "LIBS = -lsocket -lnsl"
  4371. dgux54:
  4372. make dgux540 KTARGET=$${KTARGET:-$(@)}
  4373. #Data General DG/UX 5.4 (= System V R4) for DG AViiON, with TCP/IP support.
  4374. # And curses.
  4375. dgux540c:
  4376. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4...'
  4377. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4378. "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  4379. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4380. $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
  4381. #As above but for Intel - only difference is name library names.
  4382. dgux540ic:
  4383. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.40...'
  4384. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4385. "CFLAGS = -O -DDGUX540 -DDIRENT -DHDBUUCP -DNOINADDRX \
  4386. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4387. $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  4388. dgux54c:
  4389. make dgux540c KTARGET=$${KTARGET:-$(@)}
  4390. #DG/UX 5.4R3.10
  4391. dgux54310:
  4392. @echo 'Making C-Kermit $(CKVER) for DG AViiON DG/UX 5.4R3...'
  4393. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4394. "CFLAGS = -DDGUX540 -DDGUX54310 -DDIRENT -DHDBUUCP -DSELECT \
  4395. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4396. -DNOINADDRX $(KFLAGS)" "LIBS= -lcurses8 -ltermcap" "LNKFLAGS = -s"
  4397. #DG/UX 5.4R4.10 - Includes everything.
  4398. dgux54410:
  4399. @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.10...'
  4400. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4401. "CFLAGS = -O -DDGUX540 -DDGUX54410 -DDIRENT -DHDBUUCP -DSELECT \
  4402. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4403. -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  4404. #DG/UX 5.4R4.11 - Includes everything.
  4405. dgux54411:
  4406. @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.11...'
  4407. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4408. "CFLAGS = -O -DDGUX540 -DDGUX54411 -DDIRENT -DHDBUUCP -DSELECT \
  4409. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4410. -DNOINADDRX $(KFLAGS)" "LIBS = -lsocket -lnsl -lcurses -ltermcap"
  4411. #DG/UX 5.4R4.20 - Includes everything.
  4412. dgux54420:
  4413. @echo 'Making C-Kermit $(CKVER) for DG/UX 5.4R4.20...'
  4414. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4415. "CFLAGS = -O -DDGUX540 -DDGUX54420 -DDIRENT -DHDBUUCP -DSELECT \
  4416. -DSTERMIOX -DTCPSOCKET -DCK_CURSES -DCK_NEWTERM -DNOGETUSERSHELL \
  4417. -DNOINADDRX $(KFLAGS)" \
  4418. "LIBS = -lsocket -lresolv -lnsl -lcurses -ltermcap"
  4419. #Silicon Graphics System V R3 with BSD file system (IRIS)
  4420. iris:
  4421. @echo Making C-Kermit $(CKVER) for Silicon Graphics IRIX pre-3.3...
  4422. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4423. "CFLAGS = -O -DSVR3 -DLONGFN -DNOLEARN $(KFLAGS) -I/usr/include/bsd" \
  4424. "LIBS = -lbsd"
  4425. #Silicon Graphics IRIS System V R3
  4426. irix33:
  4427. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 3.3...'
  4428. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4429. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOLEARN $(KFLAGS) -O" \
  4430. "LNKFLAGS = -s"
  4431. #Silicon Graphics Iris Indigo with IRIX 4.0.0 or 5.0...
  4432. #Strict ANSI C compilation, TCP/IP support included
  4433. irix40:
  4434. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  4435. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4436. "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  4437. -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O -Olimit 1600 -I/usr/include/bsd" \
  4438. "LNKFLAGS = -s"
  4439. #As above, but with fullscreen display (curses) and Sun Yellow Pages support.
  4440. #NOTE: IRIX versions prior to 5 run COFF binaries.
  4441. irix40ypc:
  4442. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0.'
  4443. @echo 'Includes fullscreen file display and Sun Yellow Pages...'
  4444. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4445. "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DCK_CURSES \
  4446. -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET $(KFLAGS) \
  4447. -O -Olimit 1600 -I/usr/include/bsd" \
  4448. "LIBS = -lcurses -lsun" "LNKFLAGS = -s"
  4449. # Silicon Graphics Iris Series 4D/*, IRIX 4.0.x, -O4 ucode optimized.
  4450. # Huge temporary file space needed for ucode optimizer. If you get an error
  4451. # like "ugen: internal error writing to /tmp/ctmca08777: Error 0", define the
  4452. # the TMPDIR environment variable to point to a file system that has more
  4453. # space available, e.g. "setenv TMPDIR /usr/tmp".
  4454. irix40u:
  4455. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  4456. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4457. "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  4458. -DCK_ANSIC -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
  4459. "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u"
  4460. # As above, with Curses Support added
  4461. irix40uc:
  4462. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 4.0...'
  4463. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4464. "CFLAGS = -DIRIX40 -DSVR3 -DDIRENT -DHDBUUCP -DPWID_T=uid_t \
  4465. -DCK_ANSIC -DCK_CURSES -DTCPSOCKET $(KFLAGS) -O4 -Olimit 1600" \
  4466. "LNKFLAGS=-O4 -Olimit 1600 -s" "EXT=u" "LIBS= -lcurses -ltermcap"
  4467. #Silicon Graphics IRIX 5.x.
  4468. #Yellow Pages and Curses support included.
  4469. #IRIX version 5.x can run COFF or ELF binaries.
  4470. irix51:
  4471. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
  4472. @echo 'Includes fullscreen file display and Yellow Pages...'
  4473. @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
  4474. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4475. "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DCK_CURSES -DCK_NEWTERM \
  4476. -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DNOGETUSERSHELL \
  4477. -DSYSTIMEH -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) -ansi -O -Olimit 3000" \
  4478. "LIBS = -lcurses" "LNKFLAGS = -s"
  4479. #Use this one if irix51 blows up due to lack of swap space or whatever.
  4480. irix51x:
  4481. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 5.x'
  4482. @echo 'Includes fullscreen file display and Yellow Pages...'
  4483. @echo 'Add -mips<n> to CFLAGS specify a particular hardware target.'
  4484. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4485. "CFLAGS = -DIRIX51 -DSVR4 -DDIRENT -DHDBUUCP -DCK_CURSES -DCK_NEWTERM \
  4486. -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET -DSELECT -DNOGETUSERSHELL \
  4487. -DSYSTIMEH -DDCLPOPEN -DDCLFDOPEN $(KFLAGS)" \
  4488. "LIBS = -lcurses" "LNKFLAGS = -s"
  4489. irix51ypc:
  4490. $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
  4491. "KFLAGS= $(KFLAGS)"
  4492. #IRIX 5.2 adds RTS/CTS
  4493. irix52:
  4494. $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
  4495. "KFLAGS=-DIRIX52 -DCK_RTSCTS $(KFLAGS)"
  4496. irix53:
  4497. $(MAKE) "MAKE=$(MAKE)" irix51 KTARGET=$${KTARGET:-$(@)} \
  4498. "KFLAGS=-DIRIX52 -DIRIX53 -DCK_RTSCTS $(KFLAGS)"
  4499. irix53x:
  4500. $(MAKE) "MAKE=$(MAKE)" irix51x KTARGET=$${KTARGET:-$(@)} \
  4501. "KFLAGS=-DIRIX52 -DIRIX53 -DCK_RTSCTS $(KFLAGS)"
  4502. #Silicon Graphics IRIX 6.[024] common stuff.
  4503. #Yellow Pages and Curses support included.
  4504. #IRIX version 6.0 and later runs only ELF binaries.
  4505. #Depends on code changes in ckcdeb.h that make -DIRIX6x define all
  4506. #lower IRIX6x values and IRIX51.
  4507. irix6x:
  4508. @echo 'Includes fullscreen file display and Yellow Pages...'
  4509. @echo 'Add -mips<n> to specify a particular hardware target.'
  4510. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4511. "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4512. -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET \
  4513. -DSELECT -DCK_RTSCTS -O $(KFLAGS)" \
  4514. "LIBS = -lcurses" "LNKFLAGS = -s $(LNKFLAGS)"
  4515. #Silicon Graphics IRIX 6.0.
  4516. irix60:
  4517. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.0'
  4518. @$(MAKE) "MAKE=$(MAKE)" \
  4519. "KFLAGS=-DIRIX60 -Olimit 2138 $(KFLAGS)" \
  4520. irix6x KTARGET=$${KTARGET:-$(@)}
  4521. #Silicon Graphics IRIX 6.2.
  4522. #Serial speeds > 38400 are available in IRIX 6.2 on O-class machines only.
  4523. #Note: Olimit must be a number > 0.
  4524. irix62:
  4525. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.2'
  4526. @$(MAKE) "MAKE=$(MAKE)" \
  4527. LNKFLAGS="-Wl,-woff,84" \
  4528. "KFLAGS=-DIRIX62 -Olimit 4700 $(KFLAGS)" \
  4529. irix6x KTARGET=$${KTARGET:-$(@)}
  4530. #Silicon Graphics IRIX 6.3.
  4531. irix63:
  4532. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.3'
  4533. @$(MAKE) "MAKE=$(MAKE)" irix62 KTARGET=$${KTARGET:-$(@)} \
  4534. "KFLAGS=-DIRIX63"
  4535. #Silicon Graphics IRIX 6.4.
  4536. # -woff,84 to linker stops complaints about no symbols loaded from
  4537. # curses, and -woff 1110 stops complaints about unreachable "break;"
  4538. # statements in ckcpro.c among others.
  4539. # tested on SGI Octane, running IRIX 6.4 up to 115200 bps.
  4540. # -Olimit 0 means infinite.
  4541. irix64:
  4542. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4'
  4543. @$(MAKE) "MAKE=$(MAKE)" \
  4544. LNKFLAGS="-Wl,-woff,84" \
  4545. "KFLAGS=-DIRIX64 -DCK_RTSCTS -Olimit 3000 -woff 1110 $(KFLAGS)" \
  4546. irix6x KTARGET=$${KTARGET:-$(@)}
  4547. irix64gcc:
  4548. @echo 'Making C-Kermit $(CKVER) for Silicon Graphics IRIX 6.4 gcc'
  4549. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  4550. "CFLAGS= -DSVR4 -DIRIX64 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4551. -DSELECT -DPWID_T=uid_t -DTCPSOCKET -DNOCOTFMC \
  4552. -DCK_ANSIC -DCK_RTSCTS -DCK_NEWTERM -DCK_CURSES \
  4553. $(KFLAGS) -O" "LIBS= -lcurses -ltermcap -lcrypt"
  4554. #Note the new Optimization option syntax for MIPSpro CC 7.2.1.2m.
  4555. #See note on irix65gcc target about Large File Support (LFS).
  4556. irix65:
  4557. @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
  4558. @$(MAKE) "MAKE=$(MAKE)" LNKFLAGS="-Wl,-woff,84" \
  4559. "KFLAGS=-DIRIX65 -D_LARGEFILE_SOURCE -DCK_RTSCTS -OPT:Olimit=0 \
  4560. -woff 1110,1552,1174 $(KFLAGS)" \
  4561. irix6x KTARGET=$${KTARGET:-$(@)}
  4562. #Build for those that have GCC instead of MIPSpro.
  4563. #
  4564. # Large File Support note: use the define _LARGEFILE_SOURCE to enable support
  4565. # for files larger than 2GB. This may work on releases of Irix prior to
  4566. # 6.5.xx. To verify, check the man page for fstat and verify that off_t is a
  4567. # 64 bit value for an -n32 build. Also check the manpage for fseek and ftell
  4568. # to verify that the fseek64 and ftell64 functions are provided. If so, then
  4569. # LFS support should work and you can try adding -D_LARGEFILE_SOURCE to CFLAGS
  4570. # for your selected Irix target.
  4571. #
  4572. irix65gcc:
  4573. @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5 with gcc'
  4574. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4575. "CC = gcc" "CC2 = gcc" \
  4576. "CFLAGS= -DSVR4 -DIRIX65 -D_LARGEFILE_SOURCE -DDIRENT -DHDBUUCP \
  4577. -DNOGETUSERSHELL -DSELECT -DPWID_T=uid_t -DTCPSOCKET -DNOCOTFMC \
  4578. -DCK_ANSIC -DCK_RTSCTS -DCK_NEWTERM -DCK_CURSES \
  4579. $(KFLAGS) -O" "LIBS= -lcurses"
  4580. # The 64-bit IRIX target works but presumably is no longer needed given the
  4581. # large file support in the more portable and compact 32-bit version.
  4582. irix65_64:
  4583. @echo 'Making C-Kermit $(CKVER) 64-bit for SGI IRIX 6.5'
  4584. @$(MAKE) "MAKE=$(MAKE)" LNKFLAGS="-Wl,-woff,84" \
  4585. "KFLAGS=-DIRIX65 -64 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110,1552,1174 \
  4586. -DCK_64BIT $(KFLAGS)" \
  4587. irix6x KTARGET=$${KTARGET:-$(@)}
  4588. #Dumb down to MIPS-2 if building on R5000 or higher...
  4589. irix65mips2:
  4590. @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5 MIPS-2'
  4591. @$(MAKE) "MAKE=$(MAKE)" LNKFLAGS="-o32 -mips2 -Wl,-woff,84" \
  4592. "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -o32 -mips2 \
  4593. -woff 1110,1552,1174 $(KFLAGS)" \
  4594. irix6x KTARGET=$${KTARGET:-$(@)}
  4595. #Special target that adds srp, ssl, and zlib support. This requires
  4596. #that you have pkgsrc installed instead of Irix Freeware. See
  4597. #NetBSD.org for pkgsrc for Irix. You will need to BUILD the srp_client
  4598. #package yourself. Install it manually using the directions found
  4599. #in the netbsds+ssl+srp+zlib target comments.
  4600. irix65+ssl+srp+zlib:
  4601. @echo 'Making C-Kermit $(CKVER) for IRIX 6.5 with gcc and SSL SRP ZLIB'
  4602. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4603. "CC = gcc" "CC2 = gcc" \
  4604. "CFLAGS= -DIRIX65 -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL -DSELECT \
  4605. -DTCPSOCKET -DNOCOTFMC -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC \
  4606. -I/usr/pkg/include -DCK_AUTHENTICATION -DCK_SRP -DPRE_SRP_1_4_5 \
  4607. -DCK_RTSCTS -DCK_NCURSES -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DCK_SSL \
  4608. -DLIBDES -DZLIB -DFNFLOAT -I/usr/pkg/include/openssl $(KFLAGS) -O" \
  4609. "LIBS= -L/usr/pkg/lib -rpath /usr/pkg/lib -lncurses -lsrp -lgmp -ldes \
  4610. -lssl -lkrypto -lcrypto -lcrypt -lz -lm"
  4611. irix6x+krb5:
  4612. @echo 'Includes fullscreen file display and Yellow Pages...'
  4613. @echo 'Add -mips<n> to specify a particular hardware target.'
  4614. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4615. "CFLAGS = -DSVR4 -DDIRENT -DHDBUUCP -DNOGETUSERSHELL \
  4616. -DCK_CURSES -DCK_NEWTERM -DPWID_T=uid_t -DCK_ANSIC -DTCPSOCKET\
  4617. -DSELECT -DCK_RTSCTS -O \
  4618. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DCK_ENCRYPTION -DCK_DES \
  4619. $(K5INC) $(K5INC)/krb5 $(KFLAGS)" \
  4620. "LIBS = -lcurses $(K5LIB) -ldes425 -lkrb5 \
  4621. -lcom_err -lcrypto -lcrypt -lgssapi_krb5" \
  4622. "LNKFLAGS = -s $(LNKFLAGS)"
  4623. irix65+krb5:
  4624. @echo 'Making C-Kermit $(CKVER) for SGI IRIX 6.5'
  4625. @$(MAKE) "MAKE=$(MAKE)" \
  4626. LNKFLAGS="-Wl,-woff,84" \
  4627. "KFLAGS=-DIRIX65 -DCK_RTSCTS -OPT:Olimit=0 -woff 1110,1552,1174 \
  4628. $(KFLAGS)" \
  4629. irix6x+krb5 KTARGET=$${KTARGET:-$(@)}
  4630. #In case they type "make sys5"...
  4631. sys5:
  4632. $(MAKE) "MAKE=$(MAKE)" sys3 KTARGET=$${KTARGET:-$(@)}
  4633. #Generic ATT System III or System V (with I&D space)
  4634. sys3:
  4635. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  4636. @echo 'or System V R2 or earlier...'
  4637. @echo 'add -DNOMKDIR if mkdir is an undefined symbol.'
  4638. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4639. "CFLAGS = -DATTSV -DNOUNICODE -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL \
  4640. -DNOINITGROUPS -DNOFTRUNCATE -DNOREALPATH -DNOLEARN $(KFLAGS) -i -O" \
  4641. "LNKFLAGS = -i"
  4642. #Generic ATT System III or System V (no I&D space)
  4643. sys3nid:
  4644. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  4645. @echo 'or System V R2 or earlier, no I&D space...'
  4646. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4647. "CFLAGS = -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOSYMLINK \
  4648. -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE -DNOLEARN $(KFLAGS) -O" \
  4649. "LNKFLAGS ="
  4650. #Generic ATT System III or System V R2 or earlier, "no void":
  4651. #special entry to remove "Illegal pointer combination" warnings.
  4652. sys3nv:
  4653. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  4654. @echo 'or System V R2 or earlier...'
  4655. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4656. "CFLAGS= -DATTSV -DNOREALPATH -DNOUNICODE -DNOSYSLOG -DNOGETUSERSHELL \
  4657. -DNOSYMLINK -DNOFTRUNCATE -DNOINITGROUPS -DNOLEARN \
  4658. -Dvoid=int $(KFLAGS) -i -O" \
  4659. "LNKFLAGS = -i"
  4660. # AT&T 7300 UNIX PC. As of C-Kermit 6.1, many of these entries don't work
  4661. # any more due to "Out of memory" or "Too many defines" errors during
  4662. # compilation, at least not on systems without lots of memory. The sys3upcgc
  4663. # entry works (using gcc) with optimization removed, and might also work
  4664. # with optimization enabled on machines with larger memories.
  4665. #AT&T 7300/UNIX PC (3B1) systems, sys3 but special handling for internal modem.
  4666. #Link with the shared library -- the conflict with openi in shared library
  4667. #is solved with -Dopeni=xopeni. Note that the xermit target can't be used
  4668. #for the Unix PC; there is no select().
  4669. sys3upc:
  4670. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
  4671. @echo 'If shared lib causes trouble, use make sys3upcold.'
  4672. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4673. "CFLAGS = -O -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOREALPATH -DNOLEARN \
  4674. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4675. -DNOREDIRECT -DNOGFTIMER -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  4676. "CC2 = ld /lib/crt0s.o /lib/shlib.ifile" "LNKFLAGS = -s"
  4677. #AT&T 7300/Unix PC systems, minimum kermit for those with smaller amounts
  4678. #of memory.
  4679. sys3upcm:
  4680. @echo Minimum interactive
  4681. $(MAKE) "MAKE=$(MAKE)" sys3upc KTARGET=$${KTARGET:-$(@)} \
  4682. "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
  4683. -DNOSYSLOG -DNOSETKEY -DNOREALPATH"
  4684. #AT&T 7300/UNIX PC (3B1) systems, with curses support.
  4685. #Curses and the shared library don't get along, so we don't use the
  4686. #shared library. We need to include CK_NEWTERM to avoid a conflict
  4687. #with curses and buffering on stdout. Merged with submission by
  4688. #Robert Weiner/Programming Plus, rweiner@watsun.cc.columbia.edu.
  4689. #We don't need -Dopeni=xopeni since we're not using the shared library,
  4690. #but we keep it to be consistent with the other entries.
  4691. sys3upcc:
  4692. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  4693. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4694. "CFLAGS = -O -DATT7300 -DNOREALPATH \
  4695. -DCK_CURSES -DCK_NEWTERM -DNOMKDIR -DNOREDIRECT -DNOGFTIMER -DNOLEARN \
  4696. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4697. -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  4698. "LIBS = -lcurses" "LNKFLAGS = -s"
  4699. #Like sys3upcc but for AT&T UNIX 3.51m (released as a patch on Fix Disk 2),
  4700. #adds hardware flow control.
  4701. att351m:
  4702. $(MAKE) "MAKE=$(MAKE)" sys3upcc KTARGET=$${KTARGET:-$(@)} \
  4703. "KFLAGS=-DCK_RTSCTS -DUNIX351M"
  4704. #As above but with gcc.
  4705. att351gm:
  4706. $(MAKE) "MAKE=$(MAKE)" sys3upcgc KTARGET=$${KTARGET:-$(@)} \
  4707. "KFLAGS=-DCK_RTSCTS -DUNIX351M"
  4708. #AT&T 7300 UNIX PC (3B1), as above, but no newterm().
  4709. sys3upcx:
  4710. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  4711. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4712. "CFLAGS = -O -DATT7300 -DNOREALPATH -DNOUNICODE -DNOLEARN \
  4713. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4714. -DCK_CURSES -DNOMKDIR -DNOREDIRECT -DNOGFTIMER -DUSE_MEMCPY $(KFLAGS) \
  4715. -Dopeni=xopeni" "LIBS = -lcurses -ltermcap" "LNKFLAGS = -s"
  4716. #AT&T 7300/UNIX PC (3B1) systems, with curses and shared library support.
  4717. sys3upcshcc:
  4718. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, shared lib...'
  4719. @echo 'With curses. Requires shcc.'
  4720. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4721. "CFLAGS = -O -DATT7300 -DNOMKDIR -DNOREALPATH -DNOLEARN \
  4722. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4723. -DCK_NEWTERM -DCK_CURSES -DNOREDIRECT -DNOGFTIMER \
  4724. -DUSE_MEMCPY -DNOUNICODE $(KFLAGS) -Dopeni=xopeni" \
  4725. "LNKFLAGS = -i -s" "CC = shcc" "CC2 = shcc" "LIBS = -lcurses"
  4726. #AT&T 7300/UNIX PC (3B1) systems, as above, no curses, but use gcc.
  4727. sys3upcg:
  4728. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
  4729. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4730. "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOUNICODE -DNOLEARN \
  4731. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4732. -DNOGFTIMER -DNOMKDIR -DNOREALPATH $(KFLAGS) -Dopeni=xopeni" \
  4733. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s -shlib"
  4734. #AT&T 7300/UNIX PC (3B1) systems, curses and gcc.
  4735. #Optimization omitted -- add it back in if your machine has lots of memory.
  4736. sys3upcgc:
  4737. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC, curses...'
  4738. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4739. "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOGFTIMER -DNOUNICODE \
  4740. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4741. -DCK_CURSES -DCK_NEWTERM -DNOMKDIR -DNOREALPATH -DNOLEARN $(KFLAGS)" \
  4742. "CC = gcc" "CC2 = gcc" "LIBS = -lcurses" "LNKFLAGS = -s"
  4743. #AT&T 7300/UNIX PC (3B1) systems, special handling for internal modem.
  4744. #No FULLSCREEN file transfer display (curses).
  4745. sys3upcold:
  4746. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC...'
  4747. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4748. "CFLAGS = -DATT7300 -DNOMKDIR -DUSE_MEMCPY -DNOUNICODE -DNOLEARN \
  4749. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4750. -DNOGFTIMER -DNOREDIRECT -DNOREALPATH $(KFLAGS) -O" "LNKFLAGS = -i"
  4751. #As above, but with gcc. mininum features - fits on a 400K UNIX PC floppy
  4752. #after compression with room to spare; add -DNOSHOW or other -DNOxxxx items
  4753. #to reduce size even further.
  4754. sys3upcgm:
  4755. @echo Minimum interactive
  4756. $(MAKE) "MAKE=$(MAKE)" sys3upcg KTARGET=$${KTARGET:-$(@)} \
  4757. "KFLAGS=-DNOSPL -DNOFRILLS -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS \
  4758. -DNOSETKEY $(KFLAGS)"
  4759. #This target is designed to create a version with the most features possible
  4760. #that, after compression, still fits on a 400K UNIX PC floppy.
  4761. sys3upcgfd:
  4762. @echo 'Making C-Kermit $(CKVER) for AT&T 7300 UNIX PC floppy...'
  4763. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4764. "CFLAGS = -DATT7300 -DNOREDIRECT -DUSE_MEMCPY -DNOSPL -DNOLEARN \
  4765. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4766. -DNOGFTIMER -DNOREALPATH -Dopeni=xopeni \
  4767. -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS -DNOSETKEY -DNOMKDIR $(KFLAGS)" \
  4768. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s"
  4769. #AT&T 6300 PLUS (warning, -O might make it run out of space).
  4770. #NOTE: Remove -DHDBUUCP if not using Honey DanBer UUCP.
  4771. att6300:
  4772. @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
  4773. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4774. "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOREALPATH -DNOLEARN \
  4775. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4776. -DNOUNICODE $(KFLAGS) -O -Ml -i" "LNKFLAGS = -i -Ml"
  4777. #As above, but with curses support. Debugging disabled to prevent thrashing.
  4778. att6300c:
  4779. @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS...'
  4780. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4781. "CFLAGS = -DATT6300 -DHDBUUCP -DNOFILEH -DNOCSETS -DNOREALPATH \
  4782. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4783. -DCK_CURSES -DNODEBUG -DNOUNICODE -DNOLEARN $(KFLAGS) -O -Ml -i" \
  4784. "LNKFLAGS = -i -Ml" "LIBS = -lcurses"
  4785. #AT&T 6300 PLUS with no curses, no debugging (about 34K smaller)
  4786. # -Optimization saves about 20K too.
  4787. att6300nd:
  4788. @echo 'Making C-Kermit $(CKVER) for AT&T 6300 PLUS, no debugging...'
  4789. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4790. "CFLAGS = -DATT6300 -DHDBUUCP -DNODEBUG -DNOFILEH -DNOREALPATH \
  4791. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4792. -DNOUNICODE -DNOLEARN $(KFLAGS) -O -i -Ml" "LNKFLAGS = -i -Ml"
  4793. #AT&T 3B2 and maybe 3B20-series computers running AT&T UNIX System V R3.
  4794. #This one was actually used to build C-Kermit 7.0 successfully on a 3B2/300.
  4795. att3b2:
  4796. @echo 'Making C-Kermit $(CKVER) for AT&T 3B2'
  4797. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4798. "CFLAGS = -DATTSV -DNOREDIRECT -DUSE_MEMCPY \
  4799. -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
  4800. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4801. -DNOGFTIMER -DNOREALPATH -Dopeni=xopeni -DNOFRILLS -DNOLEARN \
  4802. -DNOHELP -DNODEBUG -DNOTLOG -DNOCSETS -DNOSETKEY -DNOMKDIR $(KFLAGS)" \
  4803. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -s"
  4804. # The next two are likely not to work as-is.
  4805. #AT&T 3B2, 3B20-series computers running AT&T UNIX System V.
  4806. #This is just generic System V with Honey DanBer UUCP, so refer to sys3hdb.
  4807. #Remove -DNONAWS if you can get away with it.
  4808. att3bx:
  4809. $(MAKE) "MAKE=$(MAKE)" sys3hdb KTARGET=$${KTARGET:-$(@)} \
  4810. "KFLAGS=$(KFLAGS) -DNONAWS -DNOTIMEVAL"
  4811. # 3Bx with charsets (except Unicode) but no curses.
  4812. att3bx1:
  4813. @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
  4814. @echo 'with Honey DanBer UUCP no curses...'
  4815. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4816. "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -DNOREDIRECT \
  4817. -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
  4818. -DNOHELP -DNODEBUG -DNOGFTIMER -DNOLEARN \
  4819. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4820. -DNOREALPATH -DNOUNICODE -i" \
  4821. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -i -s"
  4822. #AT&T 3B2, 3B20-series computers running AT&T UNIX System V,
  4823. #with fullscreen file transfer display.
  4824. att3bxc:
  4825. @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
  4826. @echo 'with Honey DanBer UUCP and curses...'
  4827. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4828. "CFLAGS = -DATTSV -DHDBUUCP -DNONAWS -DNOTIMEVAL $(KFLAGS) \
  4829. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4830. -DNOREALPATH -DCK_CURSES -DCK_NEWTERM -DNOUNICODE -DNOLEARN -i -O" \
  4831. "LNKFLAGS = -i" "LIBS=-lcurses"
  4832. #3bx with curses but no charsets
  4833. att3bxc3:
  4834. @echo 'Making C-Kermit $(CKVER) for AT&T 3B2 or 3B20'
  4835. @echo 'with Honey DanBer UUCP with curses... no CSETS'
  4836. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4837. "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -DNOREDIRECT \
  4838. -DNOTIMEVAL -DNOTIMEZONE -DMINIDIAL -DNOCHANNELIO -DNOBIGBUF \
  4839. -DNOHELP -DNODEBUG -DNOGFTIMER -DNOLEARN \
  4840. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4841. -DNOREALPATH -DNOCSETS -DCK_CURSES -DCK_NEWTERM -i" \
  4842. "CC = gcc" "CC2 = gcc" "LNKFLAGS = -i -s" "LIBS = -lcurses"
  4843. #Any System V R2 or earlier with Honey DanBer UUCP (same as above)
  4844. sys3hdb:
  4845. @echo 'Making C-Kermit $(CKVER) for AT&T UNIX System III'
  4846. @echo 'or System V R2 or earlier with Honey DanBer UUCP...'
  4847. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4848. "CFLAGS = -DATTSV -DHDBUUCP -DNOREALPATH -DNOUNICODE -DNOLEARN \
  4849. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4850. $(KFLAGS) -i -O" "LNKFLAGS = -i"
  4851. #Sperry/UNISYS 5000 UTS V 5.2 (System V R2), Honey DanBer UUCP
  4852. unisys5r2:
  4853. @echo 'Making C-Kermit $(CKVER) for Sperry/UNISYS 5000 UTS V 5.2...'
  4854. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4855. "CFLAGS = -DATTSV -DUNISYS52 -DHDBUUCP -DNOREALPATH -DNOUNICODE \
  4856. -DNOSYSLOG -DNOSYMLINK -DNOGETUSERSHELL -DNOINITGROUPS -DNOFTRUNCATE \
  4857. -DNOLEARN $(KFLAGS) -i -O" "LNKFLAGS = -i"
  4858. #In case they say "make sys5hdb" instead of "make sys3hdb"...
  4859. sys5hdb:
  4860. $(MAKE) "MAKE=$(MAKE)" sys3hdb
  4861. #Create the common header line for all hpux[5-11]* entries and above. This
  4862. #extra entry is here because our header message length may differ for each
  4863. #C-Kermit version. Don't use 'fold -s' for HP-UX 5.x - 7.x! This option is
  4864. #available only for HP-UX 8.0 and above!
  4865. hpux-header:
  4866. @HPUX=`uname -r | sed -e 's/^[^1-9]*//' -e 's/\.00$$/.0/'` ; \
  4867. [ "$(MESSAGE0)" ] && MESSAGE1="$(MESSAGE0)" ; \
  4868. Message0='Making C-Kermit $(CKVER) for HP9000 HP-UX' ; \
  4869. Message1=$${MESSAGE1:='without any extra compiler optimization'} ; \
  4870. MessageH="$$Message0 $$HPUX" ; \
  4871. case $$HPUX in \
  4872. [567].*) echo "$$MessageH\n$$Message1" ;; \
  4873. *.*) echo "$$MessageH $${Message1}$(MESSAGE1A)" | fold -s ;; \
  4874. esac | sed -e 's/^ //' -e 's/ *$$//'
  4875. # Peter E's updated HP-UX 5.xx entries Oct 2001.
  4876. #HP-9000 500 HP-UX 5.xx, no TCP/IP.
  4877. # Last known successful build: C-Kermit 8.0.206 2002/20/27.
  4878. hpux0500:
  4879. @MESSAGE0="no TCP/IP and no compiler optimization";\
  4880. MESSAGE0=$${MESSAGE1:-$$MESSAGE0} \
  4881. $(MAKE) hpux-header
  4882. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4883. "CFLAGS = -DHPUX -DHPUX5 -DHPUXPRE65 -DNOREDIRECT -DDCLGETCWD \
  4884. -DNOGETUSERSHELL -DNOGFTIMER -DNOSYSLOG -DNOTOMACROS -DNOLSTAT \
  4885. -DNOSYMLINK -DNOINITGROUPS -DNOUNICODE -DNOLEARN -DNOLONGLONG \
  4886. -DVOID=int -DCKVOID=int $(KFLAGS)" "LIBS = $(LIBS)" "LNKFLAGS = "
  4887. #HP-9000 500 HP-UX 5.21 with Wollongong WIN/TCP 1.2 TCP/IP.
  4888. #Requires /usr/wins/usr/include and /usr/lib/libnet.a from Wollongong.
  4889. #Optimization skipped - takes forever. Really.
  4890. # WARNING: this doesn't work if a file called "hpux0500" is on the disk.
  4891. # Last known successful build: C-Kermit 8.0.206 2002/20/27.
  4892. hpux0500wintcp:
  4893. @MESSAGE1="with WIN/TCP but without any extra compiler optimization" \
  4894. $(MAKE) hpux0500 KTARGET=$${KTARGET:-$(@)} \
  4895. "KFLAGS = -DTCPSOCKET -DHPUX5WINTCP -DINADDRX -DNO_DNS_SRV \
  4896. -DNOMHHOST -DVOID=int -DCKVOID=int -DNOHADDRLIST -DNOLONGLONG \
  4897. -I/usr/wins/usr/include $(KFLAGS)" "LIBS = /usr/lib/libnet.a"
  4898. #HP-UX 6.5, short filenames, no network and no curses support.
  4899. #ckcpro, ckuusr, ckuus3 and others are broken out because they make the
  4900. #optimizer run away. Note that the XERMIT target does not work with HP-UX 6.5!
  4901. #
  4902. #If you get compiler warnings like:
  4903. #'Switch table overflow. Try the -Wc,-Nw option.' (for ckcuni.c, or
  4904. #other files) increase the '...' value in '-Wc,-Nw...'! The default maximum
  4905. #switch table stack (-Nw) is 250 table entries. ckcuni.c from Oct 16 2009
  4906. #needs 257 table entries (C-Kermit Version "9.0.299").
  4907. #OK: 2010/03/26
  4908. hpux0650:
  4909. @$(MAKE) hpux-header
  4910. @MESSAGE2=$${MESSAGE2:-'and NO network'}; \
  4911. echo "supporting: NO long filenames $$MESSAGE2."
  4912. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4913. ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) ckuus6.$(EXT) \
  4914. ckuusr.$(EXT) ckuxla.$(EXT) ckcftp.$(EXT) ckcpro.$(EXT) \
  4915. "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
  4916. -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV -DNOLEARN -DNOLONGLONG \
  4917. $(KFLAGS)"
  4918. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  4919. "CFLAGS = -DHPUX -DHPUX6 -DSIG_V -DNOSYSLOG -DNOSELECT -DFNFLOAT \
  4920. -DDCLGETCWD -DNOGETUSERSHELL -DNO_DNS_SRV -DNOLEARN -DNOLONGLONG \
  4921. $(KFLAGS) -Wc,-Nw260 $(OFLAGS)" "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
  4922. #Exactly as above, plus curses:
  4923. #OK: 2009/10/06
  4924. hpux0650c:
  4925. @MESSAGE2="and NO network but with curses" \
  4926. $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
  4927. "KFLAGS = -DCK_CURSES $(KFLAGS)" \
  4928. "LIBS = -lcurses"
  4929. #Exactly as above, plus curses + network:
  4930. #OK: 2009/10/02
  4931. hpux0650tcpc:
  4932. @MESSAGE2="but with curses and with TCP/IP" \
  4933. $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
  4934. "KFLAGS=-DCK_CURSES -DTCPSOCKET -DNOHADDRLIST \
  4935. -DINTSELECT -DNOCKGETFQHOST $(KFLAGS)" \
  4936. "LIBS=-lcurses"
  4937. #Exactly as hpux0650 but with compiler optimization:
  4938. #OK: 2009/10/06
  4939. hpux0650o:
  4940. @MESSAGE1="with compiler optimization" \
  4941. $(MAKE) hpux0650 KTARGET=$${KTARGET:-$(@)} \
  4942. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  4943. #Exactly as hpux0650c but with compiler optimization:
  4944. #OK: 2009/10/06
  4945. hpux0650oc:
  4946. @MESSAGE1="with compiler optimization" \
  4947. $(MAKE) hpux0650c KTARGET=$${KTARGET:-$(@)} \
  4948. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  4949. #Exactly as hpux0650tcpc but with compiler optimization:
  4950. #OK: 2009/10/06
  4951. hpux0650otcpc:
  4952. @MESSAGE1="with compiler optimization" \
  4953. $(MAKE) hpux0650tcpc KTARGET=$${KTARGET:-$(@)} \
  4954. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  4955. #Take this as startup entry for all 'non-optimized' files under HP-UX 7.x!
  4956. #Make sure we don't call it with the '-O' option because this will blow up
  4957. #the compiler!
  4958. #OK: 2009/09/30
  4959. hpux0700noopt:
  4960. @case "$(CFLAGS)" in \
  4961. *-O*) echo "Don't use CFLAGS= -O here!" ;; \
  4962. *) $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  4963. ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) ckuus5.$(EXT) \
  4964. ckuus6.$(EXT) ckuus7.$(EXT) ckuxla.$(EXT) \
  4965. ckcuni.$(EXT) ckcftp.$(EXT) ckcpro.$(EXT) \
  4966. ;; \
  4967. esac
  4968. #HP-UX 7.0, no long filenames, no network support, no curses.
  4969. #If you get compiler warnings like:
  4970. #'Switch table overflow. Try the -Wc,-Nw option.' (for ckcuni.c, or
  4971. #other files) increase the '...' value in '-Wc,-Nw...'! The default maximum
  4972. #switch table stack (-Nw) is 250 table entries. ckcuni.c from Oct 16 2009
  4973. #needs 257 table entries (C-Kermit Version "9.0.299").
  4974. #OK: 2010/10/26
  4975. hpux0700sf:
  4976. @$(MAKE) hpux-header
  4977. @echo 'supporting: NO long filenames, NO network, NO curses.'
  4978. $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
  4979. "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
  4980. -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260"
  4981. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  4982. "CFLAGS = -DHPUX -DHPUX7 -DSIG_V -DNOGETUSERSHELL -DFNFLOAT \
  4983. -DNO_DNS_SRV $(KFLAGS) -Wc,-Nw260 $(OFLAGS)" \
  4984. "LNKFLAGS = -s" "LIBS = -lm $(LIBS)"
  4985. #Exactly as hpux0700sf but with compiler optimization:
  4986. #OK: 2009/09/30
  4987. hpux0700osf:
  4988. @MESSAGE1="with compiler optimization" \
  4989. $(MAKE) hpux0700sf KTARGET=$${KTARGET:-$(@)} \
  4990. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  4991. #HP-UX 7.0, short filenames, but with tcp/ip and curses.
  4992. #To use this, you must have bought the ARPA Services Product from HP, and you
  4993. #must have /usr/lib/libBSD.a.
  4994. #
  4995. #If you get compiler warnings like:
  4996. #'Symbol table overflow. Try the -Wc,-Ns option.' (as for ckuus4.c or
  4997. #other files) increase the '...' value in '-Wc,-Ns...'! The default maximum
  4998. #symbol table size (-Ns) is 2000 table entries. ckuus4.c from Mar 12 2010
  4999. #needs 2031 table entries (C-Kermit Version "9.0.299").
  5000. #OK: 2010/03/24
  5001. hpux0700sftcpc:
  5002. @$(MAKE) hpux-header
  5003. @echo 'supporting: NO long filenames, \c'
  5004. @echo 'but with networking, curses, HDB uucp...'
  5005. $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
  5006. "CFLAGS = -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
  5007. -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
  5008. -DNO_DNS_SRV -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  5009. -DNOLONGLONG $(KFLAGS) -Wc,-Nw260,-Ns2040"
  5010. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5011. "CFLAGS = -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V \
  5012. -DCK_REDIR -DCK_RTSCTS -DCK_CURSES -DNOGETUSERSHELL -DFNFLOAT \
  5013. -DNO_DNS_SRV -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  5014. -DNOLONGLONG $(KFLAGS) -Wc,-Nw260,-Ns2040 $(OFLAGS)" \
  5015. "LNKFLAGS = -s" "LIBS = -lm -lBSD -lcurses"
  5016. #Exactly as above but with compiler optimization:
  5017. #OK: 2009/09/30
  5018. hpux0700osftcpc:
  5019. @MESSAGE1="with compiler optimization" \
  5020. $(MAKE) hpux0700sftcpc KTARGET=$${KTARGET:-$(@)} \
  5021. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  5022. #HP 9000 series 300/800 HP-UX 7.0, long filenames, network support, HDB uucp,
  5023. #but NO curses. See comments in hpux0700sftcpc about TCP/IP support.
  5024. #
  5025. #If you get compiler warnings like:
  5026. #'Symbol table overflow. Try the -Wc,-Ns option.' (as for ckuus4.c or
  5027. #other files) increase the '...' value in '-Wc,-Ns...'! The default maximum
  5028. #symbol table size (-Ns) is 2000 table entries. ckuus4.c from Mar 12 2010
  5029. #needs 2031 table entries (C-Kermit Version "9.0.299").
  5030. #OK: 2010/03/24
  5031. hpux0700lfn:
  5032. @$(MAKE) hpux-header
  5033. @echo 'supporting: long filenames, networking, HDB uucp$(MESSAGE2)...'
  5034. $(MAKE) hpux0700noopt KTARGET=$${KTARGET:-$(@)} \
  5035. "CFLAGS = -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
  5036. -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
  5037. -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  5038. -DNOLONGLONG $(KFLAGS) -Wc,-Nw260,-Ns2040"
  5039. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5040. "CFLAGS = -DHPUXDEBUG -DHPUX -DHPUX7 -DTCPSOCKET -DSIG_V -DFNFLOAT \
  5041. -DNOGETUSERSHELL -DNOSETBUF -DCK_REDIR -DCK_RTSCTS -DLONGFN \
  5042. -DNO_DNS_SRV -DDIRENT -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" \
  5043. -DNOLONGLONG $(KFLAGS) -Wc,-Nw260,-Ns2040 $(OFLAGS)" \
  5044. "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
  5045. #Exactly as above + curses.
  5046. #OK: 2009/09/30
  5047. hpux0700lfnc:
  5048. @MESSAGE2=', curses' \
  5049. $(MAKE) hpux0700lfn KTARGET=$${KTARGET:-$(@)} \
  5050. "KFLAGS = -DCK_CURSES $(KFLAGS)" \
  5051. "LIBS = -lcurses"
  5052. #Exactly as above hpux0700lfn but with compiler optimization:
  5053. #OK: 2009/09/30
  5054. hpux0700olfn:
  5055. @MESSAGE1="with compiler optimization" \
  5056. $(MAKE) hpux0700lfn KTARGET=$${KTARGET:-$(@)} \
  5057. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  5058. #Exactly as above hpux0700lfnc but with compiler optimization:
  5059. #OK: 2009/09/30
  5060. hpux0700olfnc:
  5061. @MESSAGE1="with compiler optimization" \
  5062. $(MAKE) hpux0700lfnc KTARGET=$${KTARGET:-$(@)} \
  5063. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  5064. #HP 9000 Series 300 or 400, HP-UX 8.0, long filenames and TCP/IP support.
  5065. #This one should also work on 700/800, but without PA-specific optimization.
  5066. #In case -DCK_RTSCTS and -DCK_REDIR make trouble, remove them.
  5067. #NOTE: ckcpro.c, ckuusr.c and ckuus3.c blow up the optimizer, so don't optimize
  5068. #them.
  5069. #For HP-UX 8.0 on Motorola CPUs, you might have to reinstall your kernel with
  5070. #maxdsiz >= 0x03000000. But if physical memory is small, that still will not
  5071. #help much.
  5072. #OK: 2009/10/01
  5073. hpux0800:
  5074. @$(MAKE) hpux-header
  5075. @MESSAGE3=$${MESSAGE3:='TCP/IP'}; \
  5076. echo "supporting: long filenames, $$MESSAGE3, HDB UUCP$(MESSAGE2)..."
  5077. $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" KTARGET=$${KTARGET:-$(@)} \
  5078. ckcpro.$(EXT) ckuusr.$(EXT) ckuus3.$(EXT) \
  5079. "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
  5080. -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
  5081. -DHDBUUCP -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
  5082. -DNOLONGLONG $(KFLAGS)"
  5083. $(MAKE) -B "CC=$(CC)" "CC2=$(CC2)" xermit KTARGET=$${KTARGET:-$(@)} \
  5084. "CFLAGS = -DCK_REDIR -DHPUXDEBUG -DHPUX -DHPUX8 -DRENAME -DSIG_V \
  5085. -DNOSETBUF -DDIRENT -DCK_RTSCTS -DSTERMIOX -DLONGFN -DTCPSOCKET \
  5086. -DHDBUUCP -DNO_DNS_SRV -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
  5087. -DNOLONGLONG -DNODCLENDUSERSHELL $(KFLAGS) $(OFLAGS)" \
  5088. "LNKFLAGS = -s" "LIBS = -lm -lBSD $(LIBS)"
  5089. #Exactly as above hpux0800 + curses.
  5090. #OK: 2009/10/01
  5091. hpux0800c:
  5092. @MESSAGE2=', curses' \
  5093. $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
  5094. "KFLAGS = $(KFLAGS) -DCK_CURSES" "LIBS = -lcurses"
  5095. #HP 9000 HP-UX 8.0, no TCP/IP because /usr/lib/libBSD.a can't be found,
  5096. #or TCP/IP header files missing.
  5097. #OK: 2009/10/01
  5098. hpux0800notcp:
  5099. @MESSAGE3='NO network, NO curses' \
  5100. $(MAKE) "MAKE=$(MAKE)" hpux0800 KTARGET=$${KTARGET:-$(@)} \
  5101. "KFLAGS = $(KFLAGS) -UTCPSOCKET"
  5102. #Now the same as above hpux0800 but with compiler optimization
  5103. #OK: 2009/10/01
  5104. hpux0800o:
  5105. @MESSAGE1="with compiler optimization" \
  5106. $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
  5107. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  5108. #Exactly as above hpux0800 + curses and with compiler optimization.
  5109. #OK: 2009/10/01
  5110. hpux0800oc:
  5111. @MESSAGE1="with compiler optimization" \
  5112. $(MAKE) hpux0800c KTARGET=$${KTARGET:-$(@)} \
  5113. "KFLAGS = $(KFLAGS)" "OFLAGS = -O" "LIBS = -lcurses"
  5114. #Exactly as above hpux0800notcp but with compiler optimization
  5115. #OK: 2009/10/01
  5116. hpux0800onotcp:
  5117. @MESSAGE1="with compiler optimization" \
  5118. $(MAKE) "MAKE=$(MAKE)" hpux0800notcp KTARGET=$${KTARGET:-$(@)} \
  5119. "KFLAGS = $(KFLAGS)" "OFLAGS = -O"
  5120. #HP 9000 Series 700 or 800, HP-UX 8.0, long filenames and TCP/IP support.
  5121. # Like the previous entries, but with PA-RISC-specific optimization.
  5122. #OK: 2009/10/01
  5123. hpux0800pa:
  5124. @MESSAGE1="with PA-RISC-specific optimization" \
  5125. $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
  5126. "KFLAGS = $(KFLAGS) +Obb1100"
  5127. #As above, but with curses.
  5128. #OK: 2009/10/01
  5129. hpux0800pac:
  5130. @MESSAGE1="with PA-RISC-specific optimization" \
  5131. $(MAKE) hpux0800c KTARGET=$${KTARGET:-$(@)} \
  5132. "KFLAGS = $(KFLAGS) +Obb1100"
  5133. #As above, but compiled with GCC 2.3.3.
  5134. #OK: 2009/10/01
  5135. hpux0800pagcc:
  5136. @MESSAGE1='using the gcc compiler' \
  5137. $(MAKE) hpux0800 KTARGET=$${KTARGET:-$(@)} \
  5138. "CC=gcc" "CC2=gcc" "KFLAGS = -funsigned-char $(KFLAGS)"
  5139. #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
  5140. #configured. Use this entry with the restricted compiler: no optimization, no
  5141. #ANSI support. If you get unresolved sockets library references at link time,
  5142. #then try adding -lBSD to LIBS, or else remove -DTCPSOCKET to build a version
  5143. #without TCP/IP support.
  5144. #
  5145. #Please note that we have to add the compiler option +DA1.0/+DA1.1 to avoid
  5146. #core-dumps for large arguments in IF MATCH. The man page says these options
  5147. #are default but C-Kermit dumps core without them! Therefore keep them
  5148. #untouched. If you want to overwrite or disable the +DA1.0/+DA1.1 option use
  5149. #'make hpux0900 OFLAGS=...'. An other possibility would be to create a new
  5150. #kernel with maxssiz >= 0x01185000 (default maxssiz=0x00800000).
  5151. #OK: 2009/09/24
  5152. hpux0900:
  5153. @MESSAGE1A='. Read hpux0900 entry comments if you have trouble.' \
  5154. $(MAKE) hpux-header
  5155. @case `uname -m` in \
  5156. */[34]*) KFLAGS='-DNOLONGLONG $(KFLAGS)' ;; \
  5157. */7*) AFLAGS='+DA1.1' ;; \
  5158. */8*) AFLAGS='+DA1.0' ;; \
  5159. esac ; \
  5160. OFLAGS=$${OFLAGS:-$$AFLAGS} ; \
  5161. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  5162. "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT -DUTIMEH \
  5163. -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME -DCK_REDIR -DLONGFN \
  5164. -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT \
  5165. -DNODCLENDUSERSHELL $$KFLAGS $$OFLAGS" \
  5166. "LNKFLAGS = -s" "LIBS = -lm -lcurses" "CC=$(CC)" "CC2=$(CC2)"
  5167. #Like hpux0900, but for the "value-added" compiler on all HP 9000 models.
  5168. #Adds optimization and ANSI compilation:
  5169. # +O2 makes smaller executable (= -O = Level-1 and global optimization)
  5170. # +O3 adds interprocedural global optimization, makes bigger executable.
  5171. # Please note: To support long-long we would need compiler switch '-Ae' but
  5172. # this one works only on Risc systems. But the equivalant compiler flags
  5173. # '-Aa -D_HPUX_SOURCE +e' works for Motorola and Risc.
  5174. # If optimization fails on some modules, you can add:
  5175. # +Obb<n>, +Olimit <n>, or +Onolimit, depending on your cc version,
  5176. # where <n> is a number, e.g. +Obb1200. In other words, if you get optimizer
  5177. # warnings, add (for example) +Obb1200; if you still get optimizer warnings,
  5178. # increase the number. Repeat until warnings go away. If your compiler
  5179. # permits it, use +Onolimit. If optimizer blows up on ckcpro.c, see next entry.
  5180. # Reportedly, on some configurations, such as HP9000/425e or /340, perhaps
  5181. # depending on the amount of main memory, this entry might fail no matter what
  5182. # you do ("Out of Memory", "cc: Fatal error in /lib/c.c1", etc). In that case
  5183. # use "make hpux0900" (no "o").
  5184. #OK: 2009/09/24
  5185. hpux0900o:
  5186. @MESSAGE1=$${MESSAGE1:-"with compiler optimization"} \
  5187. $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} \
  5188. "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2 +e"
  5189. # For HP-UX 9.0 on Motorola CPUs, optimization of ckcpro.c tends to blow up
  5190. # the compiler. You might have to reinstall your kernel with maxdsiz >=
  5191. # 0x03000000. But if physical memory is small, that still will not help much.
  5192. # In that case, use this entry to skip optimization of ckcpro.c. But for
  5193. # C-Kermit 8.0.208 you need a kernel with maxdsiz >= 0x02000000 to compile an
  5194. # optimized ckcftp.c.
  5195. # Please note: To support long-long we would need compiler switch '-Ae' but
  5196. # this one works only on Risc systems. But the equivalant compiler flags
  5197. # '-Aa -D_HPUX_SOURCE +e' works for Motorola and Risc.
  5198. hpux0900m68ko:
  5199. @MESSAGE1='without compiler optimization for ckcpro.$(EXT) ...' \
  5200. $(MAKE) hpux-header
  5201. $(MAKE) ckuusr.$(EXT) ckuus3.$(EXT) ckuus4.$(EXT) \
  5202. ckcftp.$(EXT) ckcpro.$(EXT) \
  5203. "CFLAGS = -DHPUXDEBUG -DHPUX9 -DSTERMIOX -DDIRENT \
  5204. -DNOSETBUF -DCK_CURSES -DTCPSOCKET -DRENAME -DCK_REDIR -DLONGFN \
  5205. -DHDBUUCP -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DFNFLOAT $(KFLAGS)"
  5206. @echo
  5207. @MESSAGE1="with compiler optimization for the rest" \
  5208. $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} \
  5209. "KFLAGS = $(KFLAGS) -Aa -DCK_ANSIC -D_HPUX_SOURCE +O2 +e"
  5210. # Old name for hpux0900m68ko.
  5211. hpux0900mot:
  5212. $(MAKE) hpux0900m68ko KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS)"
  5213. #Like hpux0900o but with additional model-700/800-specific optimizations.
  5214. # +ESlit = consolidate strings in read-only memory.
  5215. # +ESfsc = inline millicode calls when comparing pointers.
  5216. hpux0900o700:
  5217. @echo 'If you get optimizer warnings \c'
  5218. @echo 'try "make hpux0900o700 KFLAGS=+Obb1200"'
  5219. @MESSAGE1="with PA-RISC-specific optimizations" \
  5220. $(MAKE) hpux0900o KTARGET=$${KTARGET:-$(@)} \
  5221. "KFLAGS = $(KFLAGS) +ESlit +ESsfc"
  5222. #HP-UX 9.0, 9.01, 9.03, 9.04, 9.05, 9.07, 9.10 ..., + TCP/IP + curses, fully
  5223. #configured, built with gcc, all models except 800 series.
  5224. #You might need to add the include path for gcc headers, for example:
  5225. # 'KFLAGS=-I/usr/gnu/lib/gcc-lib/hppa1.1-hp-hpux/2.4.5/include/'
  5226. hpux0900gcc:
  5227. @MESSAGE1='using the gcc compiler' \
  5228. $(MAKE) hpux0900 KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  5229. "KFLAGS = -DCK_ANSIC $(KFLAGS)" \
  5230. "OFLAGS = -funsigned-char -O2 $(OFLAGS)"
  5231. #HP-9000 HP-UX 10.0 + TCP/IP + curses, fully configured.
  5232. #Use with restricted (bundled) compiler: no optimization, no ANSI support.
  5233. #libcurses needed for fullscreen file xfer display in HP-UX 10.00 and 10.01.
  5234. #libHcurses (NOT libcurses!) for fullscreen display, to work around fatal bugs
  5235. #in HP-UX 10.10 and 10.20 curses. Maybe we could use lcurses for 10.30, since
  5236. #the 10.10 curses problem is supposedly fixed in 10.30.
  5237. # +DA1.0 = Generate PA-RISC 1.0 code that runs on both 700 and 800 models.
  5238. # +DA1.1 = Generate PA-RISC 1.1 code that runs on both 700 and 800 models.
  5239. # Note that HP-UX 10.20 and upwards do not support PA-RISC 1.0 systems.
  5240. # And that as of Dec 2001, 11.00 and 11.11 are PA-only and 11.20 is IA64-only.
  5241. # Later 11.2x releases are expected to be for both. Architecture can be
  5242. # determined with the model command, at least in 10.20 and later...
  5243. #For future releases, we need to include +DA1.1 for PA builds, so that a
  5244. #binary built on PA 2.0 will still work on PA 1.1 machines, whereas +DA1.1
  5245. #must NOT be included for IA64 builds.
  5246. #4 Jan 2006 - Added Large File Support (LFS). Large files (>2GB) are
  5247. #possible in HP-UX 10.20 and later. The only change is to add:
  5248. # -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
  5249. #to KFLAGS. These should be harmless in 10.00 and 10.10, if any of examples
  5250. #of those still exist, but I have no way to test this hypothesis.
  5251. #OK: 2009/11/16
  5252. hpux1000:
  5253. @$(MAKE) hpux-header
  5254. @LIBS='-lHcurses' ; \
  5255. AFLAGS='+DA1.1' ; \
  5256. case `uname -r` in \
  5257. [AB].10.0*) KFLAGS='-DHPUX1000 $(KFLAGS)' ; \
  5258. AFLAGS='+DA1.0' ; LIBS='-lcurses' ;; \
  5259. [AB].10.1*) KFLAGS='-DHPUX1010 -D__HP_CURSES $(KFLAGS)' ; \
  5260. ;; \
  5261. [AB].10.2*) KFLAGS='-DHPUX1020 -D__HP_CURSES $(KFLAGS)' ; \
  5262. ;; \
  5263. [AB].10.3*) KFLAGS='-DHPUX1030 -D__HP_CURSES $(KFLAGS)' ; \
  5264. ;; \
  5265. [AB].10.?*) KFLAGS='-DHPUX10XX -D__HP_CURSES $(KFLAGS)' ; \
  5266. ;; \
  5267. [AB].11.0*) KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
  5268. ;; \
  5269. [AB].11.1*) KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
  5270. ;; \
  5271. [AB].11.?*) KFLAGS='-DHPUX1100 -D__HP_CURSES $(KFLAGS)' ; \
  5272. AFLAGS='' ; LIBS='-lcurses' ;; \
  5273. esac ; \
  5274. OFLAGS=$${OFLAGS:-$$AFLAGS} ; \
  5275. $(MAKE) "SHELL=/usr/bin/sh" xermit KTARGET=$${KTARGET:-$(@)} \
  5276. "CC=$(CC)" "CC2=$(CC2)" \
  5277. "CFLAGS = -DHPUX10 -DDIRENT -DSTERMIOX -DCK_DSYSINI -DHDBUUCP \
  5278. -DCK_CURSES -DCK_WREFRESH -DTCPSOCKET -DCK_REDIR -DRENAME -DFNFLOAT \
  5279. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
  5280. $$KFLAGS $$OFLAGS" \
  5281. "LNKFLAGS=-s $(LNKFLAGS)" "LIBS = -lm $$LIBS $(KLIBS)"
  5282. # This is a kludge, copying hpux0900gcc and adapting hpux1000
  5283. # (add CC and CC2, drop the A1.[0||1])
  5284. # Builds w/ no compiler warnings but minimally tested.
  5285. #
  5286. #OK: 2009/09/21
  5287. hpux1000gcc:
  5288. @MESSAGE1="using the gcc compiler $(MESSAGE1)" \
  5289. $(MAKE) hpux1000 KTARGET=$${KTARGET:-$(@)} CC=gcc CC2=gcc \
  5290. "KFLAGS = $(KFLAGS)" "OFLAGS = -DCK_ANSIC -funsigned-char -O2"
  5291. # Trusted HP-UX 10
  5292. # echo KFLAGS=$(KFLAGS) YTARGET YTARGET=$(YTARGET) $(XTARGET) ;
  5293. hpux1000t:
  5294. @case "$(KTARGET)" in \
  5295. *+openssl | *+ssl) \
  5296. KENTRY=hpux1000o+openssl ;; \
  5297. *gcc) \
  5298. KENTRY=hpux1000gcc ;; \
  5299. *o+) KENTRY=hpux1000o+ ;; \
  5300. *o) KENTRY=hpux1000o ;; \
  5301. *) KENTRY=hpux1000 ;; \
  5302. esac ; \
  5303. MESSAGE1="and support for 'Trusted HP-UX'" \
  5304. $(MAKE) $$KENTRY KTARGET=$${KTARGET:-$(@)} \
  5305. "KFLAGS = $(KFLAGS) -DHPUX10_TRUSTED" "KLIBS=-lsec"
  5306. hpux1000to:
  5307. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5308. hpux1000to+:
  5309. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5310. hpux1000tgcc:
  5311. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5312. hpux1000to+ssl hpux1000to+openssl:
  5313. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5314. hpux1000tgcc+ssl hpux1000tgcc+openssl:
  5315. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5316. #HP-9000 HP-UX 10.00 and higher with ANSI prototyping and optimization.
  5317. #PA-RISC only, no Motorola or other hardware is support in HP-UX 10.00++.
  5318. #The unbundled optional compiler is required.
  5319. #Your path should start with /opt/ansic/bin.
  5320. # -Wl,-Fw = Remove stack unwind table (info used by debuggers).
  5321. # +O2 makes a smaller executable (= -O = Level-1 and global optimization).
  5322. # +O3 adds interprocedural global optimization, makes a bigger executable.
  5323. # +Onolimit allows all modules to be optimized, no matter how complex. But:
  5324. # (a) +Onolimit does not seem to always be there in HP-UX 10.00, and:
  5325. # (b) some modules might take hours on low-memory and/or slow systems.
  5326. # The following are PA-RISC-specific optimizations:
  5327. # +ESlit = Consolidate strings in read-only memory.
  5328. # +ESfsc = Inline millicode calls when comparing pointers.
  5329. # You might need to configure your kernel for a maxdsiz of 0x0B000000 (176MB)
  5330. # or greater to prevent the optimizer from running out of space.
  5331. # December 2001: +ESlit +ESsfc removed because not supported on IA64.
  5332. # Somebody who cares can use 'model' to see whether it's PA-RISC or IA64
  5333. # and include the architecture-specific optimization flags. Also note:
  5334. # +DA1.1 is PA-only. If this is included in in HP-UX 11.00 or later,
  5335. # then +DS2.0 should be included too (but don't use +DS2.0 without +DA1.1,
  5336. # or else the binary won't run on older PA hardware).
  5337. #OK: 2009/09/21
  5338. hpux1000o:
  5339. @case `uname -m` in \
  5340. ia64) ;; \
  5341. *) MFLAGS='+ESlit +ESsfc' ;; \
  5342. esac ; \
  5343. MESSAGE1="with PA-RISC-specific optimizations $(MESSAGE1)" \
  5344. $(MAKE) "SHELL=/usr/bin/sh" "PATH=/opt/ansic/bin:$$PATH" hpux1000 \
  5345. KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS) \
  5346. -Ae -D_HPUX_SOURCE -DCK_ANSIC -DUTIMEH \
  5347. +O2 -Wl,-Fw $$MFLAGS"
  5348. #Like hpux1000o but with "+Onolimit".
  5349. #On 700 series set kernel parameter maxdsiz >= 0x0D000000 (=208MB).
  5350. #Takes a long time.
  5351. hpux1000o+:
  5352. @MESSAGE1="and +Onolimit $(MESSAGE1)" KTARGET=$${KTARGET:-$(@)} \
  5353. $(MAKE) hpux1000o \
  5354. "KFLAGS = $(KFLAGS) +Onolimit"
  5355. #HP-UX 10.xx + 11.xx with optimizing ANSI compiler and OpenSSL.
  5356. #Define SSLLIB and SSLINC appropriately for your OpenSSL installation.
  5357. #To overwrite the default SSLLIB and SSLINC settings you can also use the
  5358. #command-line variable KSSLLIB and KSSLINC like:
  5359. #make hpux1000o+openssl KSSLLIB=-L/opt/openssl/lib KSSLINC=-I/...
  5360. #Ditto for the Zlib location.
  5361. #This entry works for C-Kermit 8.0.206 on HP-UX 10.20 + 11.11
  5362. #with OpenSSL 0.9.6 + 0.9.7
  5363. #NOTE: an ANSI C compiler is required for the SSL interface. If you don't
  5364. #have the HP Optimizing ANSI compiler, see the hpux1000gcc+openssl target
  5365. #below.
  5366. hpux1000o+ssl hpux1000o+openssl:
  5367. @case "$(KTARGET)" in \
  5368. *gcc+*) \
  5369. KENTRY=hpux1000gcc ;; \
  5370. *) KENTRY=hpux1000o ;; \
  5371. esac ; \
  5372. case "$(KTARGET)" in \
  5373. *-zlib*) \
  5374. DZLIB= LZLIB= ;; \
  5375. *) DZLIB=-DZLIB LZLIB='-L/opt/zlib/lib -lz' ;; \
  5376. esac ; \
  5377. SSLINC=$${KSSLINC:-$(SSLINC)}; \
  5378. SSLLIB=$${KSSLLIB:-$(SSLLIB)}; \
  5379. MESSAGE1="and with OpenSSL $(MESSAGE1)" \
  5380. $(MAKE) $$KENTRY KTARGET=$${KTARGET:-$(@)} \
  5381. KFLAGS="-DCK_AUTHENTICATION -DCK_SSL -DOPENSSL_097 $$DZLIB \
  5382. $$SSLINC $(KFLAGS)" \
  5383. KLIBS="$(KLIBS) \
  5384. $$SSLLIB -lssl -lcrypto \
  5385. $$LZLIB \
  5386. "
  5387. # Ditto but without Zlib:
  5388. hpux1000o+ssl-zlib hpux1000o+openssl-zlib:
  5389. @MESSAGE1="but without Zlib $(MESSAGE1)" \
  5390. $(MAKE) hpux1000o+ssl KTARGET=$${KTARGET:-$(@)}
  5391. #HP-UX 10.00 or higher with OpenSSL 0.9.7. Compiled with gcc.
  5392. #From Chris Chaney, NEC America Inc. His instructions:
  5393. # (1) Install gcc version 3.2.3 & binutils version 2.13.2
  5394. # (used binary depot from http://hpux.cs.utah.edu/)
  5395. # (2) Install gcc make version 3.80 from http://hpux.cs.utah.edu/
  5396. #
  5397. # or: gcc 2.9.2000-12-1 from "Linux to hp-ux 11.0/11i porting kit version 1.0
  5398. # (2CD)" free from: http://www.software.hp.com
  5399. #
  5400. # (3) Install openSSL version 0.9.7b from http://www.software.hp.com
  5401. # (4) Install flex version 2.5.4 from http://hpux.cs.utah.edu/
  5402. # (5) Install gmp version 3.1.1 from http://hpux.cs.utah.edu/
  5403. #
  5404. #Note from Peter Eichhorn, assyst Munich. It works also without gcc make!
  5405. hpux1000gcc+ssl hpux1000gcc+openssl:
  5406. $(MAKE) hpux1000o+openssl KTARGET=$${KTARGET:-$(@)}
  5407. # Ditto but without Zlib:
  5408. hpux1000gcc+ssl-zlib hpux1000gcc+openssl-zlib:
  5409. $(MAKE) hpux1000o+openssl-zlib KTARGET=$${KTARGET:-$(@)}
  5410. # Same for HP-UX 11
  5411. hpux1100o+ssl hpux1100o+openssl:
  5412. $(MAKE) hpux1000o+openssl KTARGET=$${KTARGET:-$(@)}
  5413. #OK: 2009/09/26
  5414. hpux1100gcc+ssl hpux1100gcc+openssl:
  5415. $(MAKE) hpux1000gcc+openssl KTARGET=$${KTARGET:-$(@)}
  5416. hpux1100o+ssl-zlib hpux1100o+openssl-zlib:
  5417. $(MAKE) hpux1000o+openssl-zlib KTARGET=$${KTARGET:-$(@)}
  5418. hpux1100gcc+ssl-zlib hpux1100gcc+openssl-zlib:
  5419. $(MAKE) hpux1000gcc+openssl-zlib KTARGET=$${KTARGET:-$(@)}
  5420. # HP-UX 11
  5421. # Note: these are 32-bit builds even on IA64.
  5422. # Adding +DD64 to CFLAGS produces 64-bit object files,
  5423. # but the linker fails to find the needed 64-bit libs.
  5424. #OK: 2009/09/26
  5425. hpux1100:
  5426. $(MAKE) hpux1000 KTARGET=$${KTARGET:-$(@)}
  5427. #OK: 2009/09/26
  5428. hpux1100o:
  5429. $(MAKE) hpux1000o KTARGET=$${KTARGET:-$(@)}
  5430. hpux1100o+:
  5431. $(MAKE) hpux1000o+ KTARGET=$${KTARGET:-$(@)}
  5432. #OK: 2009/09/26
  5433. hpux1100gcc:
  5434. $(MAKE) hpux1000gcc KTARGET=$${KTARGET:-$(@)}
  5435. # Trusted HP-UX 11
  5436. hpux1100t:
  5437. $(MAKE) hpux1000t KTARGET=$${KTARGET:-$(@)}
  5438. hpux1100to:
  5439. $(MAKE) hpux1000to KTARGET=$${KTARGET:-$(@)}
  5440. hpux1100to+:
  5441. $(MAKE) hpux1000to+ KTARGET=$${KTARGET:-$(@)}
  5442. hpux1100tgcc:
  5443. $(MAKE) hpux1000tgcc KTARGET=$${KTARGET:-$(@)}
  5444. hpux1100to+ssl hpux1100to+openssl:
  5445. $(MAKE) hpux1000to+openssl KTARGET=$${KTARGET:-$(@)}
  5446. hpux1100tgcc+ssl hpux1100tgcc+openssl:
  5447. $(MAKE) hpux1000tgcc+openssl KTARGET=$${KTARGET:-$(@)}
  5448. #Regulus on CIE Systems 680/20
  5449. cie:
  5450. @echo 'Making C-Kermit $(CKVER) for CIE Systems 680/20 Regulus...'
  5451. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  5452. "CFLAGS = -DATTSV -DNOFILEH -DCIE -DNOLEARN $(KFLAGS) -O" "LNKFLAGS ="
  5453. # Android.
  5454. android:
  5455. @echo Please use \"make -f android.mk\" to build C-Kermit for Android.
  5456. # Linux 1.2 or later with gcc, dynamic libraries, ncurses, TCP/IP.
  5457. #
  5458. # If your Linux system has curses rather than ncurses, use the linuxc
  5459. # entry, or if that doesn't work, linuxnc.
  5460. #
  5461. # The Kermit "large memory model" is used by default to configure big packet
  5462. # and script buffers, etc. For small-memory or limited-resource systems,
  5463. # "make linux KFLAGS=-DNOBIGBUF".
  5464. #
  5465. # -DLINUXFSSTND (Linux File System Standard 1.2) gives UUCP lockfile /var/lock
  5466. # with string pid. Remove this to get /usr/spool/uucp with int pid, used in
  5467. # very early Linux versions. FSSTND 1.2 also says that the PID string in the
  5468. # UUCP lock file has leading spaces. This is a change from FSSTND 1.0, which
  5469. # used leading zeros. Add -DFSSTND10 to support FSSTND 1.0 instead of 1.2.
  5470. # I hope subsequent editions of the file-system standard did not change these
  5471. # again.
  5472. #
  5473. # Add -DOLINUXHISPEED (Old Linux High Speed support) to turn on an ugly kludge
  5474. # in Linux 1.0 and earlier to support speeds of 57600 and 115200. Extremely
  5475. # old Linux systems (pre-0.99pl15) will not support this. If OLINUXHISPEED is
  5476. # not defined, then only the standard POSIX termios methods of setting the port
  5477. # speed will be used, and in this case speeds can be as high as 460800 in most
  5478. # modern Linux versions.
  5479. #
  5480. # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
  5481. # least 0.99.14; if it causes trouble for you, remove it from the CFLAGS.
  5482. #
  5483. # -pipe removes the need for temp files - remove it if it causes trouble.
  5484. #
  5485. # -funsigned-char makes all characters unsigned, as they should have been
  5486. # in the first place.
  5487. #
  5488. # Add -DCK_DSYSINI if you want a shared system-wide init file.
  5489. #
  5490. # See http://www.columbia.edu/kermit/ckubwr.html about -DNOCOTFMC.
  5491. # Better still, should read the entire Linux section of that document.
  5492. #
  5493. # The "linuxa" entry can be referenced directly on LIBC systems, but not
  5494. # GLIBC, where -lcrypt is required. The "make linux" entry should normally
  5495. # be used for all builds on all Linux distributions unless you have special
  5496. # requirements, in which case keep reading. CK_NEWTERM added after 7.0b04
  5497. # due to new complaints about ncurses changing buffering of tty.
  5498. linuxa:
  5499. @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later...'
  5500. @echo 'IMPORTANT: Read the comments in the linux section of the'
  5501. @echo 'makefile if you have trouble.'
  5502. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5503. "CFLAGS = -O0 -DLINUX -fcommon -pipe -funsigned-char \
  5504. -DFNFLOAT -DCK_POSIX_SIG \
  5505. -DCK_NEWTERM -DTCPSOCKET -DLINUXFSSTND -DNOCOTFMC -DPOSIX \
  5506. -DUSE_STRERROR $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5507. "LIBS = $(LIBS) -lm -lcurses"
  5508. # As above but with profiling
  5509. linuxp:
  5510. $(MAKE) linuxa KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS) -pg" \
  5511. "LIBS=-pg -lcrypt -lresolv"
  5512. #Linux. Completely new target: 18 January 2016.
  5513. #No more looking in 100 different places for libraries, let ld do it,
  5514. #since it knows what libraries it's going to use.
  5515. #If this target fails to work somewhere, use the 'linux-2015' target just
  5516. #below this one.
  5517. #
  5518. #This entry should work for any Linux distribution on any platform,
  5519. #32-bit or 64-bit, except for extremely ancient ones. Automatically detects:
  5520. # . curses, ncurses, or no curses
  5521. # . Old versus new pty handling (new == glibc 2.1++)
  5522. # . Presence or absence of libcrypt and <crypt.h>
  5523. # . Presence or absence of libresolv
  5524. # . Presence of various serial port locking schemes
  5525. # . Transitional Long File API for 32-bit platforms (SUS V2 UNIX 98 LFS).
  5526. #
  5527. #Long file support for 32-bit builds added in 8.0.212 - if features.h contains
  5528. #__USE_LARGEFILE64 then we set the flags that must be set before reading any
  5529. #header files; on 32-bit platforms such as i386, this produces a 32-bit build
  5530. #capable of accessing, sending, receiving, and managing long (> 2GB) files.
  5531. #On 64-bit platforms, it does no harm.
  5532. #
  5533. linux gnu-linux:
  5534. @echo "Making C-Kermit for Linux..."; \
  5535. # Dummy comment \
  5536. if test \
  5537. `grep grantpt /usr/include/*.h /usr/include/*.h | wc -l` -gt 0; \
  5538. then if test -c /dev/ptmx; \
  5539. then HAVE_PTMX='-DHAVE_PTMX'; \
  5540. else HAVE_PTMX=''; \
  5541. fi; \
  5542. fi ; \
  5543. HAVE_OPENPTY=''; \
  5544. if test `grep openpty /usr/include/*.h | wc -l` -gt 0; then \
  5545. HAVE_OPENPTY='-DHAVE_OPENPTY'; \
  5546. fi; \
  5547. if test -n '$$HAVE_OPENPTY'; \
  5548. then if ld -lutil > /dev/null 2> /dev/null; then \
  5549. LIB_UTIL='-lutil'; \
  5550. else \
  5551. LIB_UTIL=''; \
  5552. fi; \
  5553. fi; \
  5554. HAVE_LIBCURSES=''; \
  5555. HAVE_CURSES=''; \
  5556. if ld -lncurses > /dev/null 2> /dev/null; then \
  5557. HAVE_LIBCURSES='-lncurses'; \
  5558. if test -f /usr/include/ncurses.h; then \
  5559. HAVE_CURSES='-DCK_NCURSES -I/usr/include/ncurses'; \
  5560. else \
  5561. HAVE_LIBCURSES=''; \
  5562. fi; \
  5563. fi; \
  5564. if test -z '$$HAVE_LIBCURSES'; then \
  5565. if ld -lcurses > /dev/null 2> /dev/null; then \
  5566. HAVE_LIBCURSES='-lcurses'; \
  5567. if test -f /usr/include/curses.h; then \
  5568. HAVE_CURSES='-DCK_CURSES -I/usr/include/curses'; \
  5569. else \
  5570. HAVE_LIBCURSES=''; \
  5571. fi; \
  5572. fi; \
  5573. fi; \
  5574. HAVE_RESOLV=''; \
  5575. if ld -lresolv > /dev/null 2> /dev/null; then \
  5576. HAVE_RESOLV='-lresolv'; \
  5577. fi; \
  5578. HAVE_CRYPT=''; \
  5579. HAVE_CRYPT_H=''; \
  5580. if ld -lcrypt > /dev/null 2> /dev/null; then \
  5581. if test -f /usr/include/crypt.h; then \
  5582. HAVE_CRYPT_H='-DHAVE_CRYPT_H'; \
  5583. HAVE_CRYPT='-lcrypt'; \
  5584. fi; \
  5585. fi; \
  5586. if test -f /usr/include/baudboy.h ; \
  5587. then HAVE_BAUDBOY='-DHAVE_BAUDBOY' ; \
  5588. else HAVE_BAUDBOY=''; \
  5589. fi; \
  5590. if test -n '$$HAVE_BAUDBOY' || test -f /usr/include/ttylock.h; \
  5591. then HAVE_LOCKDEV='-DHAVE_LOCKDEV' ; \
  5592. else HAVE_LOCKDEV='' ; \
  5593. fi ; \
  5594. if test -n '$$HAVE_LOCKDEV'; then \
  5595. if ld -llockdev > /dev/null 2> /dev/null; then \
  5596. HAVE_LIBLOCKDEV='-llockdev'; \
  5597. else \
  5598. HAVE_LOCKDEV=''; \
  5599. fi; \
  5600. fi; \
  5601. NEEDCURSESPROTOTYPES=''; \
  5602. if test -f /etc/issue; then \
  5603. if egrep "(Ubuntu|Debian)" /etc/issue > /dev/null; then \
  5604. NEEDCURSESPROTOTYPES='-DNEEDCURSESPROTOTYPES'; \
  5605. fi; \
  5606. fi; \
  5607. if grep __USE_LARGEFILE64 /usr/include/features.h > /dev/null; \
  5608. then HAVE_LARGEFILES='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; \
  5609. else HAVE_LARGEFILES=''; \
  5610. fi; \
  5611. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5612. "KFLAGS=$$HAVE_CURSES $$HAVE_PTMX $$HAVE_LOCKDEV $$HAVE_CRYPT_H \
  5613. $$HAVE_BAUDBOY $$HAVE_OPENPTY $$HAVE_LARGEFILES $(KFLAGS) -D_IO_file_flags" \
  5614. "LIBS=$(LIBS) $$LIB_UTIL \
  5615. $$HAVE_LIBCURSES $$HAVE_RESOLV $$HAVE_CRYPT $$HAVE_LOCKDEV" \
  5616. linuxa
  5617. #PREVIOUS LINUX TARGET
  5618. #Use this target if you have trouble with the one just above.
  5619. #This is the previous target for Linux, retired at the end of 2015.
  5620. #As you can see the tests for curses/ncurses and other libraries and
  5621. #header files were getting ridiculous and were only going to get worse
  5622. #as Linux versions proliferated.
  5623. #
  5624. #The HAVE_PTMX test was previously "if test -c /dev/ptmx" but this was
  5625. #not sufficient for Debian 2.1, because although it had /dev/ptmx, it did not
  5626. #have grantpt(), unlockpt(), or ptsname(), so has been changed to look for a
  5627. #grantpt() prototype in the header files. Modified in 8.0.206 to allow for
  5628. #libraries that contain .so's but no .a's, e.g. Mandrake 9.0.
  5629. #HAVE_BAUDBOY added in 8.0.210 for Red Hat -- it's like AIX ttylock().
  5630. #Modified 17 Aug 2005 to use openpty() if available because the other stuff
  5631. #dumps core in 64-bit ia64 and x86_64 builds.
  5632. #
  5633. #Added HAVE_LOCKDEV on openSuSE >= 11.3, which uses ttylock directly instead
  5634. #of baudboy 2010/08/23
  5635. linux-2015:
  5636. @if test \
  5637. `grep grantpt /usr/include/*.h /usr/include/sys/*.h | wc -l` -gt 0; \
  5638. then if test -c /dev/ptmx; then HAVE_PTMX='-DHAVE_PTMX'; \
  5639. else HAVE_PTMX=''; fi; fi ; \
  5640. if test `grep openpty /usr/include/pty.h | wc -l` -gt 0; \
  5641. then HAVE_OPENPTY='-DHAVE_OPENPTY'; \
  5642. else HAVE_OPENPTY=''; fi ; \
  5643. HAVE_LIBCURSES=''; \
  5644. if test -f /lib64/libncurses.so.5 || \
  5645. test -f /lib64/libncurses.so || \
  5646. test -f /lib64/libncurses.a; then \
  5647. HAVE_LIBCURSES='-lncurses'; \
  5648. else if test -f /usr/lib64/libncurses.so || \
  5649. test -f /usr/lib/libncurses.a || \
  5650. test -f /usr/lib64/libncurses.so.5 || \
  5651. test -f /usr/lib/x86_64-linux-gnu/libncurses.so || \
  5652. test -f /usr/lib/x86_64-linux-gnu/libncurses.a || \
  5653. test -f /usr/lib/libncurses.so; then \
  5654. HAVE_LIBCURSES='-lncurses'; \
  5655. else if test -f /usr/lib/$(MULTIARCH)/libncurses.so || \
  5656. test -f /usr/lib/$(MULTIARCH)/libncurses.a || \
  5657. test -f /usr/lib/$(MULTIARCH)/libncurses.so; then \
  5658. HAVE_LIBCURSES='-lncurses'; \
  5659. else if test -f /usr/lib64/libcurses.so || \
  5660. test -f /usr/lib/libcurses.a || \
  5661. test -f /usr/lib/libcurses.so; then \
  5662. HAVE_LIBCURSES='-lcurses'; fi; fi; fi; fi; \
  5663. HAVE_CURSES=''; \
  5664. if test -n '$$HAVE_LIBCURSES'; then \
  5665. if test -f /usr/include/ncurses.h; then \
  5666. HAVE_CURSES='-DCK_NCURSES -I/usr/include/ncurses'; \
  5667. else if test -f /usr/include/curses.h; then \
  5668. HAVE_CURSES='-DCK_CURSES'; \
  5669. else HAVE_LIBCURSES=''; \
  5670. fi; fi; fi; \
  5671. if test -f /usr/include/baudboy.h || test -f /usr/include/ttylock.h; \
  5672. then HAVE_LOCKDEV='-DHAVE_LOCKDEV' ; \
  5673. else HAVE_LOCKDEV='' ; fi ; \
  5674. if test -f /usr/include/baudboy.h ; \
  5675. then HAVE_BAUDBOY='-DHAVE_BAUDBOY' ; \
  5676. else HAVE_BAUDBOY='' ; fi ; \
  5677. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5678. "KFLAGS=$$HAVE_CURSES $$HAVE_PTMX $$HAVE_LOCKDEV \
  5679. $$HAVE_BAUDBOY $$HAVE_OPENPTY \
  5680. `grep __USE_LARGEFILE64 /usr/include/features.h > /dev/null && \
  5681. echo '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'` \
  5682. `if test -f /usr/include/crypt.h; then echo -DHAVE_CRYPT_H; fi` \
  5683. $(KFLAGS)" \
  5684. "LIBS=$(LIBS) $$HAVE_LIBCURSES \
  5685. `if test -n '$$HAVE_OPENPTY'; then echo -lutil; fi` \
  5686. `if test -f /usr/lib64/libresolv.a || test -f /usr/lib64/libresolv.so \
  5687. || test -f /usr/lib/libresolv.a || test -f /usr/lib/libresolv.so \
  5688. || test -f /usr/lib/i386-linux-gnu/libresolv.a \
  5689. || test -f /usr/lib/i386-linux-gnu/libresolv.so \
  5690. || ls /lib/$(MULTIARCH)/libresolv.* > /dev/null 2> /dev/null \
  5691. || ls /lib/x86_64-linux-gnu/libresolv.* > /dev/null 2> /dev/null; \
  5692. then echo -lresolv; fi` \
  5693. `if test -f /usr/lib64/libcrypt.a || test -f /usr/lib64/libcrypt.so \
  5694. || test -f /usr/lib/libcrypt.a || test -f /usr/lib/libcrypt.so \
  5695. || ls /lib/$(MULTIARCH)/libcrypt.* > /dev/null 2> /dev/null \
  5696. || ls /lib/x86_64-linux-gnu/libcrypt.* > /dev/null 2> /dev/null; \
  5697. then echo -lcrypt; fi` \
  5698. `if test -f /usr/lib64/liblockdev.a \
  5699. || test -f /usr/lib64/liblockdev.so \
  5700. || test -f /usr/lib/liblockdev.a \
  5701. || test -f /usr/lib/liblockdev.so \
  5702. || ls /usr/lib/$(MULTIARCH)/liblockdev.* > /dev/null 2> /dev/null; \
  5703. then echo -llockdev; fi`" \
  5704. linuxa
  5705. # Linux + Shadow passwords + PAM
  5706. # OK 2011/06/18
  5707. linux+shadow+pam:
  5708. @echo 'Making C-Kermit $(CKVER) for Linux+Shadow+PAM...'
  5709. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} \
  5710. KFLAGS="-DCK_SHADOW -DCK_PAM $(KFLAGS)" \
  5711. "LNKFLAGS = $(LNKFLAGS)" \
  5712. "LIBS = -lpam"
  5713. # Linux systems that have no <sys/select.h>.
  5714. # (not tested in recent years, perhaps no longer needed)
  5715. linuxns:
  5716. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} KFLAGS=-DNO_SYS_SELECT_H
  5717. # Linux-script-only:
  5718. # A minimum-size version for Linux that does only scripting and
  5719. # serial communication -- no networks, no file transfer, no security.
  5720. # OK 2011/06/18
  5721. linuxso:
  5722. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5723. "CFLAGS = -O0 -DLINUX -pipe -fcommon -funsigned-char \
  5724. -DPOSIX -DCK_POSIX_SIG \
  5725. -DLINUXFSSTND -DNOCOTFMC -DNOXFER -DNODEBUG -DNOCSETS -DNOHELP \
  5726. -DNONET -DMINIDIAL -DNOSCRIPT -DNOIKSD -DNOPUSH $(KFLAGS)" \
  5727. "LNKFLAGS = $(LNKFLAGS)" "LIBS = "
  5728. # Secure targets for Linux. These work on RHAS4, RHEL4, and RHEL5,
  5729. # unlike some of the older targets that follow. They hook into the main Linux
  5730. # target so we pick up all the other new stuff - large files, baudboy.h, the
  5731. # appropriate pty interface, etc.
  5732. # Linux with Kerberos 5.
  5733. # Use "make linux+krb5 KFLAGS=-DNO_KRB5_INIT_ETS" if necessary.
  5734. #OK 2011/06/16 on Fedora 14 with:
  5735. # make linux+krb5 "LIBS=$LIBS /lib/libk5crypto.so.3 /lib/libcom_err.so.2"
  5736. # On RHEL5.x: make linux+krb5 -UCK_DES
  5737. # On RHEL6.6: make linux+krb5 "K5LIB=-L /lib64"
  5738. linux+krb5:
  5739. @echo 'Making C-Kermit $(CKVER) for Linux with Kerberos 5...'
  5740. @case `openssl version` in \
  5741. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  5742. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  5743. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  5744. *) OPENSSLOPTION="" ;; \
  5745. esac; \
  5746. HAVE_DES=''; \
  5747. DES_LIB=''; \
  5748. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  5749. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  5750. DES_LIB='-ldes425'; \
  5751. HAVE_DES='-DCK_DES -DLIBDES'; \
  5752. echo "HAVE DES"; \
  5753. else echo "NO DES"; \
  5754. fi; \
  5755. K5CRYPTO=''; \
  5756. if ls /lib/libk5crypto* > /dev/null 2> /dev/null; then \
  5757. K5CRYPTO='-lk5crypto'; \
  5758. else if ls /usr/lib/libk5crypto* > /dev/null 2> /dev/null; then \
  5759. K5CRYPTO='-lk5crypto'; \
  5760. else if ls /usr/lib64/libk5crypto* > /dev/null 2> /dev/null; then \
  5761. K5CRYPTO='-lk5crypto'; \
  5762. fi; fi; fi; \
  5763. COM_ERR=''; \
  5764. if ls /lib/libcom_err* > /dev/null 2> /dev/null; then \
  5765. COM_ERR='-lcom_err'; \
  5766. fi; \
  5767. GSSAPILIB='-lgssapi'; \
  5768. if ls /lib/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5769. GSSAPILIB='-lgssapi_krb5'; \
  5770. else if ls /usr/lib/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5771. GSSAPILIB='-lgssapi_krb5'; \
  5772. else K5DIR=`echo $(K5LIB) | sed 's|-L||'`; \
  5773. if ls $$K5DIR/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5774. GSSAPILIB='-lgssapi_krb5'; \
  5775. fi; fi; fi; \
  5776. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5777. "KFLAGS= -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 $$OPENSSLOPTION \
  5778. -DCK_ENCRYPTION $$HAVE_DES $(K5INC) $(K5INC)/krb5 \
  5779. -I/usr/include/et $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5780. "LIBS = $(K5LIB) $$DES_LIB -lcrypto $$GSSAPILIB -lkrb5 \
  5781. $$K5CRYPTO $$COM_ERR $(LIBS)"
  5782. # Linux with Kerberos 5 and Kerberos 4.
  5783. # Use "make linux+krb5 KFLAGS=-DNO_KRB5_INIT_ETS" if necessary.
  5784. # Add "KFLAGS=-UCK_DES" if failure messages look DES-related.
  5785. # UNTESTED (because I can't find a box with Krb4 and Krb5 installed)
  5786. linux+krb5+krb4:
  5787. @echo 'Making C-Kermit for Linux with Kerberos 4 and Kerberos 5'
  5788. $(MAKE) linux+krb5 KTARGET=$${KTARGET:-$(@)} \
  5789. "KFLAGS=-DKRB4 -DKRB524 $(KFLAGS)" "LIBS=$(LIBS) -lkrb4"
  5790. # Linux with OpenSSL
  5791. # In Linux, SSL libs are often in /lib or /usr/lib and so found by default.
  5792. # This targets takes into account the DES library might or might not
  5793. # exist. If it does exist, however, the target will require some editing
  5794. # if its basename is not libdes425. - fdc Tue Sep 21 14:28:00 2010
  5795. # IMPORTANT: Some Linux platforms have DES libraries but they are missing
  5796. # functions used by Kermit. In that case you will get fatal errors at
  5797. # link time involving routines such as des_ecb3_encrypt, des_random_seed,
  5798. # and des_set_odd_parity. In that case, "make linux KFLAGS=-UCK_DES"
  5799. # There's a new warning at the end that should come out if this happens,
  5800. # and that should not come out if it didn't.
  5801. #
  5802. linux+ssl linux+openssl linux+openssl+zlib+shadow+pam linux+openssl+shadow:
  5803. @echo 'Making C-Kermit $(CKVER) for Linux+OpenSSL SSLLIB=$(SSLLIB)'
  5804. @case `openssl version` in \
  5805. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  5806. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  5807. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  5808. *) OPENSSLOPTION="" ;; \
  5809. esac; \
  5810. HAVE_DES=''; \
  5811. DES_LIB=''; \
  5812. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  5813. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  5814. DES_LIB='-ldes425'; \
  5815. HAVE_DES='-DCK_DES -DLIBDES'; \
  5816. echo "HAVE DES"; \
  5817. else echo "NO DES"; \
  5818. fi; \
  5819. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5820. "KFLAGS= -DCK_AUTHENTICATION -DCK_ENCRYPTION -DCK_CAST $$HAVE_DES \
  5821. -DCK_SSL -DHAVE_LOCKDEV -DCK_PAM -DZLIB \
  5822. -DCK_SHADOW $$OPENSSLOPTION $(SSLINC) \
  5823. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5824. "LIBS = $(SSLLIB) -llockdev -lssl $$DES_LIB -lcrypto -lpam -ldl -lz $(LIBS)"
  5825. # Linux with Kerberos 5 and OpenSSL
  5826. # OK 2011/05/16
  5827. # Add -UCK_DES if functions like des_ecb3_encrypt, es_random_seed,
  5828. # come up missing at link time.
  5829. # NOTE: MULTIARCH is defined externally, e.g. in DEB_HOST_MULTIARCH
  5830. # On RHEL6.6: make linux+krb5+ssl "K5LIB=-L /lib64"
  5831. linux+krb5+ssl linux+krb5+openssl:
  5832. @echo 'Making C-Kermit $(CKVER) for Linux with Krb5 and OpenSSL...'
  5833. @case `openssl version` in \
  5834. *0.9.7*) OPENSSLOPTION="-DOPENSSL_097" ;; \
  5835. *0.9.8*) OPENSSLOPTION="-DOPENSSL_098" ;; \
  5836. *1.[0-9].[0-9]*) OPENSSLOPTION="-DOPENSSL_100" ;; \
  5837. *) OPENSSLOPTION="" ;; \
  5838. esac; \
  5839. HAVE_DES=''; \
  5840. DES_LIB=''; \
  5841. if ls /usr/lib/libdes* > /dev/null 2> /dev/null || \
  5842. ls $(SSLLIB)/libdes* > /dev/null 2> /dev/null; then \
  5843. DES_LIB='-ldes425'; \
  5844. HAVE_DES='-DCK_DES -DLIBDES'; \
  5845. echo "HAVE DES"; \
  5846. else echo "NO DES"; \
  5847. fi; \
  5848. K5CRYPTO=''; \
  5849. if ls /lib/libk5crypto* > /dev/null 2> /dev/null; then \
  5850. K5CRYPTO='-lk5crypto'; \
  5851. else if ls /usr/lib/libk5crypto* > /dev/null 2> /dev/null; then \
  5852. K5CRYPTO='-lk5crypto'; \
  5853. else if ls /usr/lib64/libk5crypto* > /dev/null 2> /dev/null; then \
  5854. K5CRYPTO='-lk5crypto'; \
  5855. else if ls /usr/lib/$(MULTIARCH)/libk5crypto* > /dev/null 2> /dev/null; then \
  5856. K5CRYPTO='-lk5crypto'; \
  5857. fi; fi; fi; fi; \
  5858. COM_ERR=''; \
  5859. if ls /lib/libcom_err* > /dev/null 2> /dev/null; then \
  5860. COM_ERR='-lcom_err'; \
  5861. else if ls /lib/$(MULTIARCH)/libcom_err* > /dev/null 2> /dev/null; then \
  5862. COM_ERR='-lcom_err'; \
  5863. fi; fi; \
  5864. GSSAPILIB='-lgssapi'; \
  5865. if ls /lib/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5866. GSSAPILIB='-lgssapi_krb5'; \
  5867. else if ls /usr/lib/$(MULTIARCH)/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5868. GSSAPILIB='-lgssapi_krb5'; \
  5869. else K5DIR=`echo $(K5LIB) | sed 's|-L||'`; \
  5870. if ls $$K5DIR/libgssapi_krb5* > /dev/null 2> /dev/null; then \
  5871. GSSAPILIB='-lgssapi_krb5'; \
  5872. fi; fi; fi; \
  5873. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5874. "KFLAGS= -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 \
  5875. -DCK_SSL -DCK_PAM -DZLIB -DCK_SHADOW $$OPENSSLOPTION $(SSLINC) \
  5876. -DCK_ENCRYPTION $$HAVE_DES $(K5INC) $(K5INC)/krb5 \
  5877. -I/usr/include/et $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5878. "LIBS = $(K5LIB) $(SSLLIB) -lssl $$DES_LIB -lpam -lz \
  5879. -lcrypto $$GSSAPILIB -lkrb5 $$K5CRYPTO $$COM_ERR $(LIBS)"
  5880. # ::BEGIN_OLD_LINUX_TARGETS::
  5881. # The remaining Linux entries are for special or customized builds. They have
  5882. # not been generalized ("subroutinized") like the ones above. Ideally, we
  5883. # should allow for every combination of libc vs glibc, gcc vs egcs, curses vs
  5884. # ncurses, Kerberos IV vs Kerberos V vs SRP (in any combination), and so on.
  5885. # The best way to do this is to set KFLAGS and LIBS values and then chain to
  5886. # the main "linux" target, as in the examples just above. To skip past all of
  5887. # these old targets (and there are many) search for ::END_OLD_LINUX_TARGETS::
  5888. # (after this line).
  5889. #Sharp Zaurus SL-5500 - Linux based
  5890. zsl5500:
  5891. @echo 'Making C-Kermit $(CKVER) for Sharp Zaurus SL-5500...'
  5892. @touch ckcpro.c
  5893. @touch wart
  5894. $(MAKE) linuxnc KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DZSL5500" \
  5895. "CC = gcc" "CC2 = gcc"
  5896. #Mklinux DR3 has horrible bug in <utmpbits.h> - see ckufio.c.
  5897. mklinux:
  5898. $(MAKE) KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DUTMPBUG" \
  5899. "LIBS=-lcrypt -lresolv" linuxa
  5900. #LinuxPPC 1999
  5901. linuxppc:
  5902. @echo 'Making C-Kermit $(CKVER) for LinuxPPC 1999...'
  5903. @if test -f /usr/lib/libcrypt.a; then \
  5904. if test -f /usr/lib/libresolv.a; then \
  5905. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5906. "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H \
  5907. -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
  5908. "LIBS=-lncurses -lresolv -lcrypt" linuxa ; \
  5909. else \
  5910. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5911. "KFLAGS=$(NCURSES_CPP) -DHAVE_CRYPT_H \
  5912. -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
  5913. "LIBS=-lncurses -lcrypt" linuxa ; \
  5914. fi \
  5915. else \
  5916. if test -f /usr/lib/libresolv.a; then \
  5917. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5918. "KFLAGS=$(NCURSES_CPP) \
  5919. -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
  5920. "LIBS=-lncurses -lresolv" linuxa ; \
  5921. else \
  5922. $(MAKE) KTARGET=$${KTARGET:-$(@)} \
  5923. "KFLAGS=$(NCURSES_CPP) \
  5924. -DLOCK_DIR=\\\\\\"\"/var/lock/modem\\\\\\"\" $(KFLAGS)" \
  5925. "LIBS=-lncurses" linuxa ; \
  5926. fi \
  5927. fi
  5928. # Like "make linux" but built with egcs rather than gcc.
  5929. # If you get "Internal compiler error xxx, output pipe has been closed",
  5930. # try removing -pipe.
  5931. linuxegcs:
  5932. @echo 'Making C-Kermit $(CKVER) for Linux 1.2 or later with egcs...'
  5933. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = egcs" "CC2 = egcs" \
  5934. "CFLAGS = -O0 -DLINUX -pipe -funsigned-char \
  5935. -DPOSIX -DCK_POSIX_SIG -DCK_NCURSES -DNOCOTFMC \
  5936. -DTCPSOCKET -DLINUXFSSTND $(KFLAGS)" \
  5937. "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lncurses -lcrypt -lresolv"
  5938. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1 (no K4 compatibility).
  5939. linux+krb5-old:
  5940. @echo 'Making C-Kermit $(CKVER) for Linux on Intel with Kerberos...'
  5941. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5942. "CFLAGS = -O0 -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  5943. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 \
  5944. -DCK_ENCRYPTION -DCK_DES -DCK_CURSES -DCK_POSIX_SIG \
  5945. -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H $(K5INC) $(K5INC)/krb5 \
  5946. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5947. "LIBS = $(K5LIB) -lncurses -ltermcap -ldes425 -lkrb5 \
  5948. -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
  5949. # Linux on Intel PC with SRP 1.7.4 using GNU MP, Krypto, and Eric Young's
  5950. # DES library. Remove the -DCK_DES, -DLIBDES and -ldes if you do not have
  5951. # Eric Young's# libdes.a installed.
  5952. #
  5953. linux+srp+gmp:
  5954. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  5955. $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5956. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  5957. -DCK_AUTHENTICATION -DCK_SRP \
  5958. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  5959. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  5960. $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5961. "LIBS = $(SRPLIB) \
  5962. -lncurses -ltermcap -lsrp -lgmp -ldes -lkrypto -lcrypt -lresolv"
  5963. linux+srp+gmp+no-des:
  5964. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP ...'
  5965. $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5966. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  5967. -DCK_AUTHENTICATION -DCK_SRP \
  5968. -DCK_ENCRYPTION -DCK_CAST \
  5969. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  5970. $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5971. "LIBS = $(SRPLIB) \
  5972. -lncurses -ltermcap -lsrp -lgmp -lkrypto -lcrypt -lresolv"
  5973. linux+srp+gmp-export:
  5974. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  5975. $(MAKE) srpmit-export KTARGET=$${KTARGET:-$(@)} \
  5976. "CC = gcc" "CC2 = gcc" \
  5977. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  5978. -DCK_AUTHENTICATION -DCK_SRP -DFNFLOAT \
  5979. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  5980. $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5981. "LIBS = $(SRPLIB) \
  5982. -lncurses -ltermcap -lsrp -lgmp -lkrypto -lcrypt -lm -lresolv"
  5983. linux+srp+gmp+pam:
  5984. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  5985. $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5986. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  5987. -DCK_AUTHENTICATION -DCK_SRP \
  5988. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  5989. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  5990. -DCK_PAM -DFNFLOAT $(SRPINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  5991. "LIBS = $(SRPLIB) -lncurses -ltermcap -lsrp -lgmp -ldes -lkrypto \
  5992. -lcrypt -lpam -ldl -lm -lresolv"
  5993. #Linux on Intel PC with SRP 1.7.4 built with OpenSSL for Big Number Math
  5994. #and Cryptographic functionality.
  5995. #
  5996. linux+srp:
  5997. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  5998. $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  5999. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6000. -DCK_AUTHENTICATION -DCK_SRP \
  6001. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  6002. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6003. $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6004. "LIBS = $(SRPLIB) $(SSLLIB) \
  6005. -lncurses -ltermcap -lsrp -lkrypto -lcrypto -lcrypt -lresolv"
  6006. linux+srp+pam:
  6007. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  6008. $(MAKE) srpmit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6009. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6010. -DCK_AUTHENTICATION -DCK_SRP \
  6011. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  6012. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6013. -DCK_PAM -DFNFLOAT $(SRPINC) $(SSLINC) $(KFLAGS)" \
  6014. "LNKFLAGS = $(LNKFLAGS)" \
  6015. "LIBS = $(SRPLIB) $(SSLLIB) -lncurses -ltermcap -lsrp -lkrypto \
  6016. -lcrypto -lcrypt -lpam -ldl -lm -lresolv"
  6017. #Linux on Intel PC with SRP and SSL/TLS.
  6018. #
  6019. # libsrp.a should be build with OpenSSL
  6020. # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
  6021. #Remove -ltermcap if it causes trouble e.g. in Debian 2.2.
  6022. #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6023. linux+srp+openssl:
  6024. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6025. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6026. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6027. -DCK_AUTHENTICATION -DCK_SRP \
  6028. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  6029. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6030. $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6031. "LIBS = $(SRPLIB) $(SSLLIB) \
  6032. -lncurses -ltermcap -lsrp -lssl -lkrypto -lcrypto \
  6033. -lcrypt -lresolv"
  6034. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2 and SRP.
  6035. #
  6036. # libsrp.a should be build with GNU MP (libgmp.a)
  6037. # instead of AT&T CryptoLib (libcrypt.a) due to naming conflicts with
  6038. # standard distribution Linux libraries.
  6039. # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
  6040. linux+krb5+krb4+srp:
  6041. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB54+SRP...'
  6042. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6043. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6044. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6045. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  6046. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6047. $(K5INC) $(K5INC)/krb5 $(SRPINC) \
  6048. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6049. "LIBS = $(K5LIB) $(SRPLIB) \
  6050. -lncurses -ltermcap -lsrp -lgmp -lgssapi_krb5 -lkrypto \
  6051. -ldes -lkrb4 -ldes425 -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv"
  6052. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP and SSL/TLS.
  6053. #
  6054. # libsrp.a should be build with OpenSSL
  6055. # Requires the Kerberos 1.2.2 or higher to be compiled with KRB4 compatibility.
  6056. # Requires OpenSSL 0.9.6a or higher
  6057. #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6058. linux+krb5+krb4+srp+openssl:
  6059. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6060. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6061. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6062. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6063. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  6064. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6065. $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
  6066. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6067. "LIBS = $(K5LIB) $(SRPLIB) $(SSLLIB) \
  6068. -lncurses -ltermcap -lsrp \
  6069. -lkrb4 -lssl -lkrypto -lcrypto \
  6070. -lkrb5 -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
  6071. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SSL/TLS.
  6072. #
  6073. # libsrp.a should be build with OpenSSL
  6074. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6075. #If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6076. linux+krb5+krb4+openssl:
  6077. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
  6078. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6079. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6080. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6081. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL \
  6082. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6083. $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6084. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6085. "LIBS = $(K5LIB) $(SSLLIB) \
  6086. -lncurses -ltermcap \
  6087. -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
  6088. -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
  6089. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1, SSL/TLS.
  6090. #
  6091. # libsrp.a should be build with OpenSSL
  6092. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6093. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6094. linux+krb5+krb4+openssl+shadow:
  6095. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
  6096. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6097. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6098. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6099. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_SHADOW \
  6100. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6101. $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6102. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6103. "LIBS = $(K5LIB) $(SSLLIB) \
  6104. -lncurses -ltermcap \
  6105. -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
  6106. -lk5crypto -lgssapi_krb5 -lcrypt -lresolv"
  6107. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2, SSL/TLS.
  6108. #
  6109. # libsrp.a should be build with OpenSSL
  6110. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6111. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6112. linux+krb5+krb4+openssl+zlib+shadow:
  6113. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL...'
  6114. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6115. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6116. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 -DZLIB \
  6117. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_SHADOW \
  6118. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6119. $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6120. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6121. "LIBS = $(K5LIB) $(SSLLIB) \
  6122. -lncurses -ltermcap \
  6123. -lkrb4 -lssl -lcrypto -lkrb5 -lcom_err \
  6124. -lk5crypto -lgssapi_krb5 -lcrypt -lresolv -lz"
  6125. linux+krb5+krb4+srp-export:
  6126. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  6127. $(MAKE) xermit-export KTARGET=$${KTARGET:-$(@)} \
  6128. "CC = gcc" "CC2 = gcc" \
  6129. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6130. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6131. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6132. $(K5INC) $(K5INC)/krb5 $(SRPINC) \
  6133. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6134. "LIBS = $(SRPLIB) $(K5LIB) \
  6135. -lncurses -ltermcap -lsrp -lgmp -lkrb4 -ldes425 -lkrb5 -lgssapi_krb5 \
  6136. -lcom_err -lk5crypto -lkrypto -lcrypt -lresolv"
  6137. linux+krb5+krb4+srp+pam:
  6138. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with SRP...'
  6139. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6140. "CFLAGS = -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6141. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6142. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES \
  6143. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6144. -DCK_PAM $(K5INC) $(K5INC)/krb5 $(SRPINC) \
  6145. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6146. "LIBS = $(SRPLIB) $(K5LIB) \
  6147. -lncurses -ltermcap -lsrp -lgmp -ldes -lkrb4 -ldes425 -lkrb5 \
  6148. -lcom_err -lk5crypto -lgssapi_krb5 -lkrypto -lcrypt -lpam -ldl \
  6149. -lresolv"
  6150. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP and SSL/TLS.
  6151. # and PAM.
  6152. #
  6153. # libsrp.a should be build with OpenSSL
  6154. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6155. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6156. linux+krb5+krb4+srp+openssl+pam-debug:
  6157. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6158. $(MAKE) xermit-debug KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6159. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6160. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6161. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
  6162. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6163. -w -Dmalloc=dmalloc -Dfree=dfree -DMDEBUG $(K5INC) $(K5INC)/krb5 \
  6164. $(SRPINC) $(SSLINC) $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6165. "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
  6166. -lncurses -ltermcap -lsrp -lkrb4 -lssl -lkrypto -lcrypto \
  6167. -lkrb5 -lcom_err -lk5crypto -lgssapi_krb5 -lcrypt -lresolv -lpam -ldl"
  6168. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.1, SRP and SSL/TLS.
  6169. # and PAM.
  6170. #
  6171. # libsrp.a should be build with OpenSSL
  6172. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6173. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6174. linux+krb5+krb4+srp+openssl+pam:
  6175. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6176. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6177. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6178. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6179. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
  6180. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6181. $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
  6182. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6183. "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
  6184. -lm -lncurses -ltermcap -lsrp \
  6185. -lkrb4 -lssl -lkrypto -lcrypto -lgssapi_krb5 \
  6186. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl"
  6187. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP, OpenSSL
  6188. # with ZLIB and PAM
  6189. #
  6190. # libsrp.a should be build with OpenSSL
  6191. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6192. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6193. linux+krb5+krb4+srp+openssl+zlib+pam:
  6194. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6195. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6196. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6197. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6198. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
  6199. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6200. $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
  6201. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6202. "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
  6203. -lm -lncurses -ltermcap -lsrp \
  6204. -lkrb4 -lssl -lkrypto -lcrypto -lgssapi_krb5 \
  6205. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
  6206. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, SRP, OpenSSL
  6207. # with ZLIB, Shadow Passwords, and PAM
  6208. #
  6209. # libsrp.a should be build with OpenSSL
  6210. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6211. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6212. linux+krb5+krb4+srp+openssl+zlib+shadow+pam:
  6213. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6214. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6215. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6216. -DCK_AUTHENTICATION -DCK_SRP -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6217. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
  6218. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6219. -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SRPINC) $(SSLINC) \
  6220. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6221. "LIBS = $(SRPLIB) $(K5LIB) $(SSLLIB) \
  6222. -lm -lncurses -ltermcap -lsrp -lkrypto \
  6223. -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
  6224. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
  6225. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
  6226. # with Shadow Passwords, PAM
  6227. #
  6228. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6229. linux+krb5+krb4+openssl+shadow+pam:
  6230. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SSL,...'
  6231. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6232. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6233. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6234. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM \
  6235. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6236. -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6237. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6238. "LIBS = $(K5LIB) $(SSLLIB) \
  6239. -lm -lncurses -ltermcap \
  6240. -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
  6241. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl"
  6242. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
  6243. # with ZLIB, Shadow Passwords, PAM
  6244. #
  6245. # libsrp.a should be build with OpenSSL
  6246. # Requires the Kerberos 1.2.2 be compiled with KRB4 compatibility.
  6247. # If you have OpenSSL 0.9.7 or later, add -DOPENSSL_097 to KFLAGS.
  6248. linux+krb5+krb4+openssl+zlib+shadow+pam:
  6249. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB,SRP,SSL...'
  6250. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6251. "CFLAGS = -g -O -funsigned-char -pipe -DPOSIX -DLINUX -DNOCOTFMC \
  6252. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DKRB4 -DKRB524 \
  6253. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
  6254. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6255. -DCK_SHADOW $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6256. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6257. "LIBS = $(K5LIB) $(SSLLIB) \
  6258. -lm -lncurses -ltermcap \
  6259. -lkrb4 -lssl -lcrypto -lgssapi_krb5 \
  6260. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
  6261. #Red Hat 9 - full install includes Kerberos 5 (4 compat), PAM, SSL.
  6262. #Also works around bug in curses in which terminal goes dead after
  6263. #returning from file-transfer display. Assumes OpenSSL 0.9.7 or later.
  6264. redhat9:
  6265. @echo "Building SECURE Kermit for Red Hat 9.0..."
  6266. $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
  6267. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH90 -DOPENSSL_097 $(KFLAGS)"
  6268. #Ditto plus SRP (which is not normally included with RH Linux).
  6269. redhat9+srp:
  6270. @echo "Building SECURE Kermit for Red Hat 9.0..."
  6271. $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
  6272. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH90 -DOPENSSL_097 $(KFLAGS)"
  6273. #For Red Hat AS 2.1 with OpenSSL
  6274. redhat21+ssl:
  6275. @echo "Building SECURE Kermit for Red Hat 2.1..."
  6276. $(MAKE) linux+openssl+zlib+shadow+pam \
  6277. KTARGET=$${KTARGET:-$(@)} "KFLAGS = $(KFLAGS)"
  6278. #Red Hat Linux 8.0 - full install includes Kerberos 5 (4 compat), PAM, SSL.
  6279. #Also works around bug in curses in which terminal goes dead after
  6280. #returning from file-transfer display.
  6281. redhat80:
  6282. @echo "Building SECURE Kermit for Red Hat 8.0..."
  6283. $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
  6284. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH80 $(KFLAGS)"
  6285. redhat80+srp:
  6286. @echo "Building SECURE Kermit for Red Hat 8.0..."
  6287. $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
  6288. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH80 $(KFLAGS)"
  6289. #Red Hat Linux 7.3 - full install includes Kerberos 5 (4 compat), PAM, SSL.
  6290. #Also works around bug in curses in which terminal goes dead after
  6291. #returning from file-transfer display.
  6292. redhat73:
  6293. @echo "Building SECURE Kermit for Red Hat 7.3..."
  6294. $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
  6295. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH73 $(KFLAGS)"
  6296. redhat73+srp:
  6297. @echo "Building SECURE Kermit for Red Hat 7.3..."
  6298. $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
  6299. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH73 $(KFLAGS)"
  6300. #Red Hat Linux 7.2 - full install includes Kerberos 5 (4 compat), PAM, SSL.
  6301. #Also works around bug in curses in which terminal goes dead after
  6302. #returning from file-transfer display.
  6303. redhat72:
  6304. @echo "Building SECURE Kermit for Red Hat 7.2..."
  6305. $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
  6306. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH72 $(KFLAGS)"
  6307. redhat72+srp:
  6308. @echo "Building SECURE Kermit for Red Hat 7.2..."
  6309. $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
  6310. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH72 $(KFLAGS)"
  6311. #Red Hat Linux 7.1 - full install includes Kerberos 5 (4 compat), PAM, SSL.
  6312. #Also works around bug in curses in which terminal goes dead after
  6313. #returning from file-transfer display.
  6314. redhat71:
  6315. @echo "Building SECURE Kermit for Red Hat 7.1..."
  6316. $(MAKE) linux+krb5+krb4+openssl+zlib+shadow+pam \
  6317. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH71 $(KFLAGS)"
  6318. redhat71+srp:
  6319. @echo "Building SECURE Kermit for Red Hat 7.1..."
  6320. $(MAKE) linux+krb5+krb4+srp+openssl+zlib+shadow+pam \
  6321. KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DRH71 $(KFLAGS)"
  6322. #Linux on Intel PC with Cygnus or MIT Kerberos 5 1.2.2, OpenSSL
  6323. # with ZLIB and PAM and Shadow passwords
  6324. linux+krb5+openssl+zlib+shadow+pam:
  6325. @echo 'Making C-Kermit $(CKVER) for Linux on i386 with KRB5,SSL...'
  6326. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6327. "CFLAGS = -g -O0 -funsigned-char -fcommon -pipe \
  6328. -DPOSIX -DLINUX -DNOCOTFMC \
  6329. -DCK_AUTHENTICATION -DCK_KERBEROS -DKRB5 -DCK_SHADOW -DHAVE_PTMX \
  6330. -DCK_ENCRYPTION -DCK_CAST -DCK_DES -DLIBDES -DCK_SSL -DCK_PAM -DZLIB \
  6331. -DCK_CURSES -DCK_POSIX_SIG -DTCPSOCKET -DLINUXFSSTND -DHAVE_CRYPT_H \
  6332. $(K5INC) $(K5INC)/krb5 $(SSLINC) \
  6333. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" \
  6334. "LIBS = $(K5LIB) $(SSLLIB) \
  6335. -lm -lncurses -ltermcap -lssl -lcrypto -lgssapi_krb5 \
  6336. -lkrb5 -lcom_err -lk5crypto -lcrypt -lresolv -lpam -ldl -lz"
  6337. linuxnotcp:
  6338. $(MAKE) linux KTARGET=$${KTARGET:-$(@)} "KFLAGS = -DNONET $(KFLAGS)"
  6339. # "make linuxnotcp" with lcc (see http://www.cs.princeton.edu/software/lcc)
  6340. # lcc does not understand various gcc extensions:
  6341. # "__inline__" -- can be eliminated by adding "-D__inline__="
  6342. # "__asm__ and "long long" -- in header files, should be surrounded by
  6343. # "#ifndef(__STRICT_ANSI__)"/"#endif"
  6344. # however, TCP requires some __asm__ functions, so cannot be compiled
  6345. linuxnotcp-lcc:
  6346. @echo 'Making C-Kermit $(CKVER) for Linux with lcc ...'
  6347. @echo 'Read comments in makefile for additional information.'
  6348. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = lcc" "CC2 = lcc" \
  6349. "CFLAGS = -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG \
  6350. -UTCPSOCKET -DLINUXFSSTND -DNOLEARN $(KFLAGS)" \
  6351. "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  6352. # Linux 0.99.14 thru 1.0 with gcc, dynamic libraries, curses, TCP/IP.
  6353. # For Linux 1.2 or later, use "make linux" (above).
  6354. #
  6355. # -DLINUXFSSTND (Linux File System Standard) gives UUCP lockfile /var/lock with
  6356. # string pid. Remove this and get /usr/spool/uucp with int pid, which was used
  6357. # in early Linux versions.
  6358. #
  6359. # If you get compiler errors regarding <linux/serial.h>, add -DNOHISPEED.
  6360. #
  6361. # -DCK_POSIX_SIG (POSIX signal handling) is good for Linux releases back to at
  6362. # least 0.99.14; if it causes trouble for you, just remove it.
  6363. #
  6364. # -DCK_CURSES: Here we link with the regular curses library. But you should
  6365. # be using ncurses. Internally, the ckuusx.c module includes <curses.h>, but
  6366. # this really should be <ncurses.h>. Thus if you have the new curses
  6367. # material, you should either install it with the standard names, or else
  6368. # create symbolic links from the standard names to the new ones. If you get
  6369. # compile-time errors complaining about data definitions in termcap.h, it
  6370. # means you have new kernel material mixed with older libc header files. To
  6371. # fix, add "#include <termios.h>" to the <termcap.h> file. Or if all this is
  6372. # too confusing, create a new makefile entry based on this one, but with
  6373. # -DCK_CURSES removed from CFLAGS and the entire LIBS= clause removed.
  6374. #
  6375. # But wait, there's more. On most Linux systems, -ltermcap must be included
  6376. # in LIBS. But on others, the linker complains that libtermcap can't be
  6377. # found. In that case, try removing -ltermcap from LIBS=.
  6378. #
  6379. # But wait, there's more. The format of the PID string in the UUCP lockfile
  6380. # changed between Linux FSSTND 1.0 and 1.2. In the earlier standard, it had
  6381. # leading zeros; in the second, it has leading spaces. By default this entry
  6382. # uses the newer standard. To force the older one, add -DFSSTND10.
  6383. #
  6384. # "The nice thing about the Linux standard is there are so many to choose from"
  6385. #
  6386. # NOTE: Remove -DBIGBUFOK for small-memory or limited-resource systems.
  6387. linux10:
  6388. @echo 'Making C-Kermit $(CKVER) for Linux 1.0 or earlier...'
  6389. @echo 'IMPORTANT: Read the comments in the linux section of the'
  6390. @echo 'makefile if you get compilation or link errors.'
  6391. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6392. "CFLAGS = -O0 -DPOSIX -DCK_CURSES -DCK_POSIX_SIG -DLINUX \
  6393. -DTCPSOCKET -DLINUXFSSTND -DOLINUXHISPEED -DNOLEARN $(KFLAGS)" \
  6394. "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  6395. #This version was used for Linux prior to C-Kermit 6.0.192.
  6396. #Now the "Linux File System Standard" is considered standard, ditto TCP/IP.
  6397. linuxold:
  6398. @echo 'Making C-Kermit $(CKVER) for Linux...'
  6399. @echo 'For FSSTND-recommended UUCP lockfiles, use:'
  6400. @echo ' make linux "KFLAGS=-DLINUXFSSTND".'
  6401. @echo 'Read comments in makefile for additional options.'
  6402. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6403. "CFLAGS = -O -DLINUX -DPOSIX -DCK_CURSES -DCK_POSIX_SIG -DNOLEARN \
  6404. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS)" "LIBS = -lcurses -ltermcap"
  6405. # ::END_OLD_LINUX_TARGETS::
  6406. # LynxOS 2.2 with GCC compiler, TCP/IP and fullscreen display.
  6407. # Probably also works with Lynx 2.1, and maybe even Lynx 2.0.
  6408. # -X means use termios serial drivers rather than BSD4.3-style sgtty drivers.
  6409. # If you have trouble with this, try "make bsd KFLAGS=-DNOFDZERO".
  6410. lynx:
  6411. @echo 'Making C-Kermit $(CKVER) for LynxOS 2.2 with TCP/IP'
  6412. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6413. "CFLAGS= -O -DPOSIX -DDIRENT -DSETREUID -DCK_CURSES -DTCPSOCKET \
  6414. -DCK_ANSIC -DLYNXOS -DNOLEARN" "LNKFLAGS = -X" "LIBS = -lcurses -lbsd"
  6415. lynx22:
  6416. $(MAKE) lynx KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  6417. # LynxOS 2.1 with GCC compiler 1.40 and TCP/IP.
  6418. lynx21:
  6419. @echo 'Making C-Kermit $(CKVER) for LynxOS 2.1 with TCP/IP'
  6420. $(MAKE) kermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6421. "CFLAGS= -O -DSETREUID -DTCPSOCKET -DCK_ANSIC -DBSD4 -DLYNXOS" \
  6422. "LIBS = -lbsd"
  6423. #SCO Xenix 2.2.1 for IBM PC, XT, PS2/30, or other 8088 or 8086 machine
  6424. #Should this not work, try some of the tricks from sco286.
  6425. #NOTE: -DRENAME is omitted for early SCO Xenix releases because it didn't
  6426. #exist, or its semantics were different from the later POSIX-compliant
  6427. #version of rename().
  6428. sco86:
  6429. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/86...'
  6430. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6431. "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOUNICODE -DNOLEARN \
  6432. $(KFLAGS) -Dunix -F 3000 -i -M0me" \
  6433. "LNKFLAGS = -F 3000 -i -s -M0me" "LIBS = -lx"
  6434. #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
  6435. #Reportedly, this "make" can fail simply because of the size of this
  6436. #makefile. If that happens, use "makeL", or edit out some of the
  6437. #other entries. No debugging or character-set translation.
  6438. sco286:
  6439. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286...'
  6440. @echo 'If make fails, try using makeL.'
  6441. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6442. "CFLAGS= -xenix -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
  6443. -DNOIKSD -DNODEBUG -DNOTLOG -DNOCSETS -DNOLEARN \
  6444. $(KFLAGS) -F 3000 -i -M2let16" \
  6445. "LIBS = -lx" "LNKFLAGS = -xenix -s -O -LARGE -F 3000 -i -M2let16"
  6446. #SCO Xenix/286 2.2.1, e.g. for IBM PC/AT, PS/2 Model 50, etc.
  6447. #As above, but with HDBUUCP (This one might need fixing -- see sco286).
  6448. sco286hdb:
  6449. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/286 with HDB UUCP...'
  6450. @echo 'If make fails, try using makeL.'
  6451. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6452. "CFLAGS= -s -O -LARGE -DXENIX -DNOFILEH -Dunix -DRDCHK -DNAP \
  6453. -DHDBUUCP -DNOIKSD -DNOUNICODE -DNOLEARN \
  6454. $(KFLAGS) -F 3000 -i -M2let32" \
  6455. "LIBS = -lx" "LNKFLAGS = -s -O -LARGE -F 3000 -i -M2let32"
  6456. #SCO Xenix/386 2.2.2 and 2.2.3
  6457. sco386:
  6458. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.2...'
  6459. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6460. "CFLAGS= -DXENIX -DNOFILEH -DNOIKSD -DNOREDIRECT -DNOLEARN \
  6461. -Dunix -DRDCHK -DNAP -DNOUNICODE $(KFLAGS) -Otcl -M3e" \
  6462. "LNKFLAGS = -s" "LIBS = -lx"
  6463. #SCO XENIX/386 2.2.3 with Excelan TCP/IP + curses.
  6464. # NOTE: This one might need some work in C-Kermit 6.0.
  6465. # You might need to include /usr/include/sys/types.h
  6466. # containing "typedef char *caddr_t;". Then at least it compiles.
  6467. sco386netc:
  6468. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.2.3 + Excelan TCP'
  6469. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6470. "CFLAGS= -I/usr/include/exos -DXENIX -DCK_CURSES -DNOUNICODE \
  6471. -Dunix -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC -DNOMKDIR -DNOFILEH \
  6472. -DNOLEARN -DNOREDIRECT -DNOIKSD -DNO_DNS_SRV $(KFLAGS) -Otcl -M3e" \
  6473. "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
  6474. #SCO XENIX/386 2.3.3 with gcc 1.37 or later...
  6475. sco386gcc:
  6476. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
  6477. @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
  6478. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6479. "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  6480. -DNOJC -DNODEBUG -DNOUNICODE -DNOLEARN $(KFLAGS) \
  6481. -traditional -fpcc-struct-return -fstrength-reduce \
  6482. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
  6483. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  6484. -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD -DNOREDIRECT \
  6485. -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx"
  6486. #As above, but with curses...
  6487. sco386gccc:
  6488. @echo 'Making C-Kermit $(CKVER) for SCO Xenix/386 2.3.3, gcc...'
  6489. @echo 'Add -D_NO_PROTOTYPE if you have trouble with Xenix header files'
  6490. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2 = gcc" \
  6491. "CFLAGS= -O -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  6492. -DNOJC -DNODEBUG -DCK_CURSES -DNOUNICODE -DNOLEARN $(KFLAGS) \
  6493. -traditional -fpcc-struct-return -fstrength-reduce \
  6494. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOREDIRECT \
  6495. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  6496. -DM_SYSIII -DM_SYSV -DM_WORDSWAP -DM_XENIX -DNOIKSD \
  6497. -DPWID_T=int " "LNKFLAGS = -s" "LIBS = -lx -lcurses -ltermlib"
  6498. #SCO UNIX (and ODT) entries...
  6499. #
  6500. #NOTE: All SCO UNIX entry LIBS should have "-lc_s -lc -lx" IN THAT ORDER (if
  6501. #shared C library is desired), or else "-lc -lx" IN THAT ORDER. Use shared C
  6502. #libraries to save memory, but then don't expect to run the resulting binary
  6503. #on a different machine. When using -lc_s, you must also use -lc, because the
  6504. #shared C library does not contain all of libc.a. And in all cases, -lc must
  6505. #ALWAYS precede -lx.
  6506. #
  6507. #ANOTHER NOTE: -DRENAME is included in all SCO UNIX entries. Remove it if it
  6508. #causes trouble. No harm is done by removing it (see ckuins.txt).
  6509. #
  6510. #AND ANOTHER: In theory, it should be possible to run SCO UNIX binaries on
  6511. #SCO Xenix 2.3 and later. In practice, this might not work because of the
  6512. #libraries, etc. Also, don't add the -link -z switch (which is supposed to
  6513. #root out references to null pointers) because it makes UNIX binaries core
  6514. #dump when they are run under Xenix.
  6515. #NOTE: -Otcl removed and replaced by -O, since -Otcl produced incorrect code.
  6516. #SCO UNIX/386 3.2.0, 3.2.1, and SCO Xenix 2.3.x
  6517. sco3r2:
  6518. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.0 or 3.2.1 ...'
  6519. @echo 'Warning: If make blows up, edit the makefile to join'
  6520. @echo 'the following three continued lines into one line.'
  6521. @echo 'Also, remove -DRENAME if _rename unresolved at link time.'
  6522. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6523. "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DNOLEARN \
  6524. -DRENAME -DNOIKSD -DNOJC $(KFLAGS) -O" \
  6525. "LNKFLAGS = -s" "LIBS = -lc -lx"
  6526. #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
  6527. #In case of compilation or runtime problems, try adding
  6528. #"-DUID_T=int -DGID_T=int" to the CFLAGS. If that doesn't work, try
  6529. #"-DUID_T=uid_t -DGID_T=gid_t".
  6530. sco3r2net:
  6531. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan...'
  6532. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6533. "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH -DNOLEARN \
  6534. -DHDBUUCP -DRDCHK -DNAP -DRENAME -DTCPSOCKET -DEXCELAN -DNOJC \
  6535. -DNOIKSD -DNOREDIRECT $(KFLAGS) -O" \
  6536. "LNKFLAGS = -s" "LIBS = -lc -lx -lsocket"
  6537. #SCO UNIX/386 3.2.0 and SCO Xenix 2.3.x with Excelan TCP/IP support.
  6538. #As above, with curses added.
  6539. sco3r2netc:
  6540. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Excelan / curses...'
  6541. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6542. "CFLAGS= -I/usr/include/exos -DXENIX -DSVR3 -DNOFILEH -DNOLEARN \
  6543. -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DEXCELAN -DNOJC $(KFLAGS) \
  6544. -DRENAME -DCK_CURSES -DNOREDIRECT -DNOIKSD -O" "LNKFLAGS = -s" \
  6545. "LIBS = -lc -lx -lsocket -lcurses -ltermcap"
  6546. #SCO UNIX 3.2.x or SCO Xenix 2.3.x with Racal InterLan TCP/IP support
  6547. # Extra compile flags for other version of Racal InterLan TCP/IP:
  6548. # Xenix286/NP621-286, use -Ml -DPARAMH -DINTERLAN -Di286 -DSYSV
  6549. # Xenix386/NP621-386, use -DPARAMH -DINTERLAN -Di386 -DSYSV
  6550. # ISC386ix/NP622I, use -DSYSV -Di386
  6551. # SCO Unix3.2/NP622S, use -DSYSV -Di386 -DSCO_UNIX
  6552. # AT&T SVR3.2/NP622A, use -DSYSV -Di386 -DATT
  6553. sco3r2netri:
  6554. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 / Racal InterLan...'
  6555. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6556. "CFLAGS= -I/usr/include/interlan -DXENIX -DNOFILEH -DHDBUUCP \
  6557. -DSVR3 -DRDCHK -DNAP -DTCPSOCKET -DPARAMH -DINTERLAN -Di386 -DSYSV \
  6558. -DRENAME -DNOREDIRECT -DNOIKSD -DNOJC -DNOLEARN $(KFLAGS) -Otcl -M3e" \
  6559. "LNKFLAGS = -s" "LIBS = -lc -lx -ltcp"
  6560. # SCO XENIX/386 2.3.3 SysV with SCO TCP/IP
  6561. # System V STREAMS TCP developed by Lachman Associates Inc and
  6562. # Convergent Technologies.
  6563. # -DRENAME removed since some reports indicate it is not supported
  6564. # (whereas others say it is.)
  6565. sco3r2lai:
  6566. @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
  6567. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6568. "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
  6569. -DNAP -DTCPSOCKET -DPWID_T=int -DNOREDIRECT -DNOIKSD -DNOLEARN \
  6570. $(KFLAGS) -Otcl -i -M3e" \
  6571. "LNKFLAGS = -i -s" "LIBS = -lc -lx -lsocket"
  6572. sco3r2laic:
  6573. @echo 'Making C-Kermit $(CKVER) for SCO XENIX/386 2.3.3 + TCP/IP...'
  6574. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6575. "CFLAGS= -DLAI_TCP -Di386 -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK \
  6576. -DNAP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DM_TERMINFO -DNOLEARN \
  6577. -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) -Otcl -i -M3e" \
  6578. "LNKFLAGS = -i -s" "LIBS = -ltinfo -lc -lx -lsocket"
  6579. #SCO UNIX/386 3.2v2 (POSIX job control), shared libraries.
  6580. sco3r22:
  6581. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
  6582. make wermit KTARGET=$${KTARGET:-$(@)} \
  6583. "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
  6584. -DNAP -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOIKSD \
  6585. -DNOREDIRECT $(KFLAGS) -O" \
  6586. "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
  6587. #SCO UNIX/386 3.2v2, POSIX job control, fullscreen file transfer display,
  6588. #dynamic memory allocation, shared C library
  6589. sco3r22c:
  6590. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 ...'
  6591. @echo 'Warning: If make blows up, edit the makefile to join'
  6592. @echo 'the following four continued lines into one line.'
  6593. make wermit KTARGET=$${KTARGET:-$(@)} \
  6594. "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DNOLEARN \
  6595. -DCK_CURSES -DDIRENT -DRENAME -DNOREDIRECT -DNOIKSD \
  6596. -DPID_T=pid_t -DPWID_T=int $(KFLAGS) -O" \
  6597. "LNKFLAGS = -s" "LIBS = -lcurses -lc_s -lc -lx"
  6598. #SCO UNIX/386 3.2v2 with gcc 1.40 or later (POSIX job control)
  6599. sco3r22gcc:
  6600. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2, gcc'
  6601. @echo 'Warning: If make blows up, edit the makefile to join'
  6602. @echo 'the following seven continued lines into one line.'
  6603. make wermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
  6604. "CFLAGS= -O -DPOSIX -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP \
  6605. -DNOLEARN -DRENAME -traditional -fpcc-struct-return -fstrength-reduce \
  6606. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM \
  6607. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  6608. -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  6609. -DPID_T=pid_t -DPWID_T=int -DNOREDIRECT -DNOIKSD $(KFLAGS) " \
  6610. "LNKFLAGS = -s" "LIBS = -lc_s -lc -lx"
  6611. #SCO UNIX/386 3.2v2 (ODT 1.1) (POSIX job control) with SCO TCP/IP, shared libs
  6612. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  6613. sco3r22net:
  6614. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2.2 + TCP/IP...'
  6615. @echo 'Warning: If make blows up, edit the makefile to join'
  6616. @echo 'the following three continued lines into one line.'
  6617. make xermit KTARGET=$${KTARGET:-$(@)} \
  6618. "CFLAGS= -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET \
  6619. -DRENAME -DPID_T=pid_t -DPWID_T=int -DDIRENT -DNOREDIRECT -DNOIKSD \
  6620. $(KFLAGS) -O" "LNKFLAGS = -s" "LIBS = -lsocket -lc_s -lc -lx"
  6621. #As above, but with curses for fullscreen file transfer display.
  6622. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  6623. sco3r22netc:
  6624. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v2 + TCP/IP...'
  6625. @echo 'Warning: If make blows up, edit the makefile to join'
  6626. @echo 'the following three continued lines into one line.'
  6627. make xermit KTARGET=$${KTARGET:-$(@)} "CFLAGS= \
  6628. -DXENIX -DSVR3 -DNOFILEH -DHDBUUCP -DRDCHK -DNAP -DTCPSOCKET -DRENAME \
  6629. -DCK_CURSES -DDIRENT -DNOIKSD -DNOREDIRECT \
  6630. -DPID_T=pid_t -DPWID_T=int -O $(KFLAGS)" \
  6631. "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  6632. #SCO XENIX 2.3.4, no curses, no TCP/IP, no IKSD.
  6633. #This one built and tested in C-Kermit 7.0.
  6634. #lcfp is C library floating-point support.
  6635. #Use -M3 to generate 32-bit i386 code instead of 16-bit segmented i286 code.
  6636. #Use -Me to enable MS nonstandard keywords in system headers.
  6637. #Use -W2 or W3 to increase the warning level.
  6638. #OK: 2011/06/15
  6639. sco234:
  6640. @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4...'
  6641. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6642. "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
  6643. -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  6644. -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DSCO234 -DDCLGETCWD $(KFLAGS) \
  6645. -Otcl" "LNKFLAGS = -s" "LIBS = -lcfp -lc -lx"
  6646. #SCO XENIX 2.3.4, no TCP/IP, no IKSD, but with curses.
  6647. # Built and tested in C-Kermit 7.0.
  6648. # Note: XENIX 2.3.4 does not have newterm() so no point in adding -DCK_NEWTERM.
  6649. sco234c:
  6650. @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + curses...'
  6651. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6652. "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
  6653. -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  6654. -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DCK_CURSES -DSCO234 \
  6655. -DDCLGETCWD $(KFLAGS) -Otcl" \
  6656. "LNKFLAGS = -s" "LIBS = -lcfp -lc -ltinfo -lx"
  6657. #SCO XENIX 2.3.4 with SCO TCP/IP and curses, no IKSD.
  6658. # Built and tested in C-Kermit 7.0. TCP/IP works and curses works.
  6659. # Previous versions of this target included -lmalloc, but this caused "error:
  6660. # " _calloc : symbol defined more than once" at link time so I removed it.
  6661. # Results are likely to vary depending on exactly which version of the SDK
  6662. # and TCP/IP SDK you have.
  6663. sco234netc:
  6664. @echo 'Making C-Kermit $(CKVER) for SCO XENIX 2.3.4 + TCP + curses...'
  6665. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  6666. "CFLAGS= -DSCO32 -DXENIX -DNOFILEH -DHDBUUCP -DRDCHK -DNOLEARN \
  6667. -DNAP -DNOJC -DNOCOTFMC -DNOIKSD -DNOREDIRECT -DNOTNCODE -DNOGFTIMER \
  6668. -DNOTIMEVAL -DNOTIMEZONE -DNOSYMLINK -DCK_CURSES -DSCO234 \
  6669. -DDCLGETCWD -DTCPSOCKET -DNO_DNS_SRV $(KFLAGS) -Otcl" \
  6670. "LNKFLAGS = -s" "LIBS = -ltinfo -lsocket -lcfp -lc -lx"
  6671. # SCO 3.2v4.x targets...
  6672. # NOTE: Add -DDCLPOPEN and/or -DDCLFDOPEN to anySCO 3.2v4.x non-gcc entries
  6673. # that complain about fdopen() or popen() at compile time. They compile OK
  6674. # without these flags as of July 1999. However, the gcc entries seem to
  6675. # need them, at least for gcc 2.7.2.2.
  6676. # NOTE 2: To enable IKSD support, add:
  6677. # -DCK_LOGIN -DNOGETUSERSHELL -DNOINITGROUPS
  6678. # to CFLAGS (not tested).
  6679. #SCO UNIX/386 3.2v4 (POSIX job control), curses, ANSI C compilation,
  6680. #<dirent.h> (EAFS) file system. Remove -lmalloc if it causes trouble. It was
  6681. #put there to avoid core dumps caused by regular libc.a malloc. Add -J to make
  6682. #all chars unsigned. This version uses select() for CONNECT and also has
  6683. #high-precision timers and so might not work on non-TCP systems, in which case
  6684. #sco32v4ns should be used instead.
  6685. # If you get _ftime redefinition_ complaint, try adding -DODT30 to CFLAGS.
  6686. sco32v4:
  6687. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  6688. make xermit KTARGET=$${KTARGET:-$(@)} \
  6689. "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
  6690. -DNOANSI -DSELECT -DNOIKSD -DDCLGETCWD -NOLSTAT \
  6691. -DNOLINKBITS -DDCLGETCWD $(KFLAGS) -O" \
  6692. "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lsocket -lc_s -lc -lx"
  6693. # As above, but with no dependence on sockets library or select().
  6694. sco32v4ns:
  6695. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  6696. @echo 'No select() and no sockets library.'
  6697. make wermit KTARGET=$${KTARGET:-$(@)} \
  6698. "CFLAGS= -DCK_SCO32V4 -DNOFILEH -DHDBUUCP -DCK_CURSES -DM_TERMINFO \
  6699. -DNOANSI -DNOIKSD -DNOGFTIMER -DCK_POLL -DNAP -DDCLGETCWD -DNOLSTAT \
  6700. -DNOLINKBITS -DDCLGETCWD -DNOLEARN -O $(KFLAGS)" \
  6701. "LNKFLAGS = -s" "LIBS = -lcurses -lmalloc -lc_s -lc -lx"
  6702. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  6703. #<dirent.h> (EAFS) file system. With DIRENT, -lc must come before -lx.
  6704. #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
  6705. #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
  6706. #See sco32v4 above for additional comments.
  6707. #NOTE: No more room for -Dxxx -- 25 seems to be the limit. Move some to
  6708. #ckcdeb.h or somewhere...
  6709. sco32v4net:
  6710. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  6711. @echo 'If you get _ftime redefinition_ complaint,'
  6712. @echo 'use make sco-odt30.'
  6713. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6714. "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES \
  6715. -DNAP -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DNOLSTAT \
  6716. -DDCLGETCWD -DCK_SCO32V4 -DNOIKSD -O \
  6717. $(KFLAGS)" "LNKFLAGS = $(LNKFLAGS) -s" \
  6718. "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
  6719. #SCO UNIX/386 3.2v4 with gcc 1.40 or later, POSIX job control.
  6720. #Also see comments in sco32r4 entry.
  6721. sco32v4gcc:
  6722. make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" \
  6723. "CFLAGS= -O -DNOFILEH -DHDBUUCP -DNOANSI -DCK_CURSES -DM_TERMINFO \
  6724. -traditional -fpcc-struct-return -fstrength-reduce -funsigned-char \
  6725. -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
  6726. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DSELECT -DNOLSTAT \
  6727. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
  6728. -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  6729. -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
  6730. "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  6731. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  6732. #Requires SCO TCP/IP or ODT development system for telnet.h, etc.
  6733. #<dirent.h> (EAFS) file system. With DIRENT, -lc must come before -lx.
  6734. #gcc 1.40 or later. Also see comments in sco32r4 entry.
  6735. sco32v4netgcc:
  6736. make xermit KTARGET=$${KTARGET:-$(@)} "CC = gcc" "CC2=gcc" \
  6737. "CFLAGS= -O2 -DNOFILEH -DHDBUUCP -DSELECT -DNOLSTAT \
  6738. -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
  6739. -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLINKBITS \
  6740. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DDCLGETCWD \
  6741. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 \
  6742. -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  6743. -DDCLPOPEN -DDCLFDOPEN $(KFLAGS)" \
  6744. "LNKFLAGS = -s" "LIBS = -lcurses -lsocket -lc_s -lc -lx"
  6745. #As above but with bgcc BOUNDS CHECKING (for developers only). -lcheck has
  6746. #bounds-checking replacements for malloc, memcpy, bcopy, etc, so must come
  6747. #before -lsocket and -lc.
  6748. sco32v4netbgcc:
  6749. make xermit KTARGET=$${KTARGET:-$(@)} \
  6750. "CC = bgcc -pipe -m386" "CC2=bgcc -pipe -m386" \
  6751. "CFLAGS= -O1 -g -DNOFILEH -DHDBUUCP -DSELECT \
  6752. -DNOANSI -DTCPSOCKET -DCK_CURSES -DM_TERMINFO \
  6753. -D_KR -D_NO_PROTOTYPE -D_SVID -DNOIKSD -DCK_SCO32V4 -DNOLSTAT \
  6754. -DM_BITFIELDS -DM_COFF -DM_I386 -DM_I86 -DM_I86SM -DNOLINKBITS \
  6755. -DM_INTERNAT -DM_SDATA -DM_STEXT -DM_SYS3 -DM_SYS5 -DDCLGETCWD \
  6756. -DM_SYSIII -DM_SYSV -DM_UNIX -DM_WORDSWAP -DM_XENIX -Dunix \
  6757. -DDCLPOPEN -DDCLFDOPEN $(KFLAGS) " \
  6758. "LNKFLAGS = -g" "LIBS = -lcurses -lcheck -lsocket -lx"
  6759. sco32v4netnd:
  6760. @echo sco32v4net with no debug
  6761. $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
  6762. "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
  6763. sco3r2netnd:
  6764. @echo sco32v4netnd built for SCO XENIX 2.3 under SCO UNIX...
  6765. @echo requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
  6766. @echo getting /lib/386/Slibsocket.a from a XENIX devkit.
  6767. @echo WARNING: poll/CK_POLL supported only on XENIX 2.3.4
  6768. echo For earlier XENIX systems, replace CK_POLL with RDCHK.
  6769. $(MAKE) "MAKE=$(MAKE)" sco32v4netnd KTARGET=$${KTARGET:-$(@)} \
  6770. "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
  6771. "LNKFLAGS = $(LNKFLAGS) -x2.3" \
  6772. "LIBS=-ldir -lcfp $(LIBS)"
  6773. #SCO UNIX/386 3.2v4 (POSIX job control), TCP/IP, curses, ANSI C compilation,
  6774. #<dirent.h> (EAFS) file system. With DIRENT, -lc must come before -lx.
  6775. #Reportedly it's OK to add -DCK_REDIR and -DCK_WREFRESH, and to remove -lc_s.
  6776. #Requires SCO TCP/IP development system or ODT for telnet.h, etc.
  6777. #See sco32v4 above for additional comments.
  6778. # Note: "xermit" means use the select() version of the CONNECT module.
  6779. sco32v4netx:
  6780. @echo 'Making C-Kermit $(CKVER) for SCO UNIX/386 3.2v4...'
  6781. @echo 'If you get _ftime redefinition_ complaint,'
  6782. @echo 'use make sco-odt30.'
  6783. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6784. "CFLAGS= -DNOFILEH -DHDBUUCP -DTCPSOCKET -DCK_ANSIC -DCK_CURSES -DNAP \
  6785. -DCK_WREFRESH -DNOLINKBITS -D_IBCS2 -DSELECT -DDCLGETCWD \
  6786. -DCK_SCO32V4 -DNOIKSD -DNOLSTAT -O $(KFLAGS)" \
  6787. "LNKFLAGS = $(LNKFLAGS) -s" \
  6788. "LIBS = $(LIBS) -lcurses -lsocket -lmalloc -lsocket -lc_s -lc -lx"
  6789. sco32v4netndx:
  6790. @echo sco32v4netx with no debug
  6791. $(MAKE) "MAKE=$(MAKE)" sco32v4netx KTARGET=$${KTARGET:-$(@)} \
  6792. "KFLAGS=$(KFLAGS) -DNODEBUG -DNOTLOG" "LIBS=$(LIBS)"
  6793. sco3r2netndx:
  6794. @echo sco32v4netndx built for SCO XENIX 2.3 under SCO UNIX...
  6795. @echo requires copying /lib/386/Slibc.a to /lib/386/Slibc_s.a and
  6796. @echo getting /lib/386/Slibsocket.a from a XENIX devkit.
  6797. @echo WARNING: poll/CK_POLL supported only on XENIX 2.3.4
  6798. echo For earlier XENIX systems, replace CK_POLL with RDCHK.
  6799. $(MAKE) "MAKE=$(MAKE)" sco32v4netndx KTARGET=$${KTARGET:-$(@)} \
  6800. "KFLAGS=$(KFLAGS) -x2.3 -DNORENAME -DNOSYMLINK" \
  6801. "LNKFLAGS = $(LNKFLAGS) -x2.3" \
  6802. "LIBS=-ldir -lcfp $(LIBS)"
  6803. sco-odt30:
  6804. @echo SCO ODT 3.0
  6805. $(MAKE) "MAKE=$(MAKE)" sco32v4net KTARGET=$${KTARGET:-$(@)} \
  6806. "KFLAGS=$(KFLAGS) -DODT30"
  6807. #SCO OpenServer 5.0 (SCO UNIX 3.2v5.0) with SCO development tools, no TCP/IP.
  6808. #SCO OSR5 is much more like standard System V than previous SCO releases.
  6809. #The SCO development tools include TCP/IP, so this target is only for creating
  6810. #artificially limited versions of kermit required by site policy rather than
  6811. #the operating system. NOSYSLOG is included because syslog() requires the
  6812. #sockets library.
  6813. sco32v500:
  6814. @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
  6815. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6816. "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  6817. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  6818. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DNOSYSLOG \
  6819. $(KFLAGS)" \
  6820. "LIBS=-lcurses $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  6821. sco32v5:
  6822. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v500
  6823. #SCO OpenServer 5.0 with networking, SCO development tools.
  6824. #Networking libraries are now provided with the OS.
  6825. sco32v500net:
  6826. @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5...
  6827. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6828. "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  6829. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  6830. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
  6831. -DNO_DNS_SRV $(KFLAGS)" \
  6832. "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  6833. sco32v5net:
  6834. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v500net
  6835. #SCO OpenServer 5.0 with networking and OpenSSL, SCO development tools.
  6836. #Networking libraries are now provided with the OS.
  6837. sco32v500net+ssl:
  6838. @echo Making C-Kermit $(CKVER) for SCO OSR5 with OpenSSL...
  6839. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6840. "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  6841. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  6842. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
  6843. -DNO_DNS_SRV -DCK_AUTHENTICATION -DCK_SSL -DCK_TRIGGER \
  6844. $(SSLINC) $(SSLLIB) $(KFLAGS)" \
  6845. "LIBS=$(SSLLIB) -lcurses -lsocket -lssl -lcrypto $(LIBS)" \
  6846. "LNKFLAGS=$(LNKFLAGS)"
  6847. #SCO OpenServer 5.0 with gcc, no networking.
  6848. #Note: NOSYSLOG required for non-net entries because it requires <socket.h>
  6849. sco32v500gcc:
  6850. @echo Using gcc...
  6851. $(MAKE) "MAKE=$(MAKE)" sco32v500CC=gcc CC2=gcc \
  6852. KTARGET=$${KTARGET:-$(@)} "KFLAGS= $(KFLAGS)"
  6853. #SCO OpenServer 5.0 with networking, gcc.
  6854. sco32v500netgcc:
  6855. @echo TCP/IP networking added - using gcc...
  6856. $(MAKE) "MAKE=$(MAKE)" sco32v500net CC=gcc CC2=gcc \
  6857. KTARGET=$${KTARGET:-$(@)} "KFLAGS=$(KFLAGS)"
  6858. #SCO OpenServer 5.0 with networking, gcc, elf.
  6859. sco32v500netgccelf:
  6860. @echo TCP/IP networking added - using gcc, dynamic elf library
  6861. $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
  6862. KTARGET=$${KTARGET:-$(@)} "KFLAGS=-O3 -belf" "LNKFLAGS=-belf"
  6863. sco32v502:
  6864. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  6865. "KFLAGS=-DSCO_OSR502 $(KFLAGS)"
  6866. #SCO OpenServer 5.0.2 with networking, SCO development tools.
  6867. sco32v502net:
  6868. @echo TCP/IP networking added...
  6869. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  6870. "KFLAGS=-b elf -DSCO_OSR502 $(KFLAGS)"
  6871. #SCO OpenServer 5.0.4 (SCO UNIX 3.2v5.0.4) with SCO development tools.
  6872. #Like 5.0, but adds high serial speeds. First POSIX-based SCO version.
  6873. #Note: the -O flag is deliberately omitted for /bin/cc (= /usr/ccs/bin/cc).
  6874. sco32v504:
  6875. @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5.0.4...
  6876. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6877. "CFLAGS= -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  6878. -DSCO_OSR504 -b elf -DPOSIX \
  6879. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  6880. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DNOSYSLOG $(KFLAGS)" \
  6881. "LIBS=-lcurses $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  6882. #SCO OpenServer 5.0.4 with gcc, no networking.
  6883. sco32v504gcc:
  6884. @echo Using gcc...
  6885. $(MAKE) "MAKE=$(MAKE)" sco32v504 "CC=gcc" "CC2=gcc" \
  6886. KTARGET=$${KTARGET:-$(@)} "KFLAGS= $(KFLAGS)"
  6887. #SCO OpenServer 5.0.4 with networking.
  6888. #SCO development tools (/bin/cc = /usr/ccs/bin/cc).
  6889. #Optimization deliberately suppressed.
  6890. sco32v504net:
  6891. @echo Making C-Kermit $(CKVER) for SCO OpenServer Release 5.0.4...
  6892. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  6893. "CFLAGS= -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  6894. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  6895. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
  6896. -b elf -DSCO_OSR504 -DPOSIX -DNO_DNS_SRV $(KFLAGS)" \
  6897. "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  6898. #SCO OpenServer 5.0.4 with networking, gcc.
  6899. sco32v504netgcc:
  6900. @echo TCP/IP networking added - using gcc...
  6901. @echo If gcc crashes on ckwart.c then build it by hand:
  6902. @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
  6903. $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
  6904. KTARGET=$${KTARGET:-$(@)} "KFLAGS=-DSCO_OSR504 -DPOSIX $(KFLAGS)"
  6905. #SCO OpenServer 5.0.4 with networking, gcc, elf.
  6906. sco32v504netgccelf:
  6907. @echo TCP/IP networking added - using gcc, dynamic elf library
  6908. $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc"
  6909. KTARGET=$${KTARGET:-$(@)} \
  6910. "KFLAGS=-DSCO_OSR504 -DPOSIX -O3 -belf $(KFLAGS)" \
  6911. LNKFLAGS="-belf"
  6912. #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with SCO /bin/cc.
  6913. #Like 5.0, but adds high serial speeds. First POSIX-based SCO version.
  6914. #You might have to add "LIBS=-ltinfo" (some do, some don't).
  6915. sco32v505:
  6916. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  6917. "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
  6918. #SCO OpenServer 5.0.5 (SCO UNIX 3.2v5.0.5) with SCO UDK.
  6919. #This one can't see the high serial speeds and anything to do with modem
  6920. #signals doesn't work because UKD cc has its own alternative universe of
  6921. #header files.
  6922. sco32v505udk:
  6923. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  6924. "KFLAGS=-DSCO_OSR505 -DDCLTIMEVAL -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
  6925. #SCO OpenServer 5.0.5 with networking, SCO /bin/cc.
  6926. #See comments with sco32v505 targets.
  6927. sco32v505net:
  6928. @echo TCP/IP networking added...
  6929. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  6930. "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
  6931. #SCO OpenServer 5.0.5 with networking and OpenSSL, SCO /bin/cc.
  6932. #See comments with sco32v505 targets.
  6933. sco32v505net+ssl:
  6934. @echo TCP/IP networking and OpenSSL added...
  6935. $(MAKE) "MAKE=$(MAKE)" sco32v500net+ssl KTARGET=$${KTARGET:-$(@)} \
  6936. "KFLAGS=-DSCO_OSR505 -DNOSHADOW -b elf -DPOSIX $(KFLAGS) " \
  6937. "LIBS=$(SSLLIB) -lcurses -lsocket -lssl -lcrypto $(LIBS)" \
  6938. "LNKFLAGS=$(LNKFLAGS)"
  6939. #SCO OpenServer 5.0.5 with networking, SCO UDK.
  6940. #See comments with above sco32v505 targets.
  6941. sco32v505udknet:
  6942. @echo TCP/IP networking added...
  6943. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  6944. "KFLAGS=-DSCO_OSR505 -DDCLTIMEVAL -DNOSHADOW -b elf -DPOSIX $(KFLAGS)"
  6945. #SCO OpenServer 5.0.5 with gcc, no networking.
  6946. sco32v505gcc:
  6947. @echo Using gcc...
  6948. $(MAKE) "MAKE=$(MAKE)" sco32v500 "CC=gcc" "CC2=gcc" \
  6949. KTARGET=$${KTARGET:-$(@)} \
  6950. "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char $(KFLAGS)"
  6951. #SCO OpenServer 5.0.5 with gcc, no networking, no shadow passwords.
  6952. sco32v505xgcc:
  6953. @echo Using gcc...
  6954. $(MAKE) "MAKE=$(MAKE)" sco32v500 "CC=gcc" "CC2=gcc" \
  6955. KTARGET=$${KTARGET:-$(@)} \
  6956. "KFLAGS=-DSCO_OSR505 -DNOSHADOW -DPOSIX -funsigned-char $(KFLAGS)"
  6957. #SCO OpenServer 5.0.5 with networking, gcc.
  6958. sco32v505netgcc:
  6959. @echo TCP/IP networking added - using gcc...
  6960. @echo If gcc crashes on ckwart.c then build it by hand:
  6961. @echo " gcc -o wart -DCK_SCOV5 ckwart.c"
  6962. $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
  6963. KTARGET=$${KTARGET:-$(@)} \
  6964. "KFLAGS=-DSCO_OSR505 -DNOSHADOW -DPOSIX -funsigned-char $(KFLAGS)"
  6965. #egcs is just like gcc but generates ELF by default.
  6966. #Or you can include -melf (not -belf) to force it.
  6967. sco32v505netegcs:
  6968. $(MAKE) "MAKE=$(MAKE)" "KFLAGS=$(KFLAGS)" sco32v505netgcc \
  6969. KTARGET=$${KTARGET:-$(@)}
  6970. #SCO OpenServer 5.0.5 with networking, gcc, elf.
  6971. sco32v505netgccelf:
  6972. @echo TCP/IP networking added - using gcc, dynamic elf library
  6973. $(MAKE) "MAKE=$(MAKE)" sco32v500net "CC=gcc" "CC2=gcc" \
  6974. "KFLAGS=-DSCO_OSR505 -DPOSIX -funsigned-char -O3 -belf $(KFLAGS)" \
  6975. KTARGET=$${KTARGET:-$(@)} LNKFLAGS="-belf"
  6976. #SCO OpenServer 5.0.6 with SCO /bin/cc.
  6977. # Add -DDCLTIMEVAL when building with UDK.
  6978. #Like 5.0.5. IMPORTANT: Use sco32v506a target for 5.0.6a.
  6979. sco32v506:
  6980. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  6981. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -b elf -DPOSIX $(KFLAGS)"
  6982. #SCO OpenServer 5.0.6 with networking, SCO /bin/cc.
  6983. # Add -DDCLTIMEVAL when building with UDK.
  6984. # IMPORTANT: Use sco32v506a target for 5.0.6a.
  6985. sco32v506net:
  6986. @echo TCP/IP networking added...
  6987. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  6988. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -b elf -DPOSIX $(KFLAGS)"
  6989. #SCO OpenServer 5.0.6a, no networking, SCO development tools.
  6990. #This one has patched sio drivers that, for the first time,
  6991. #actually handle modem signals correctly.
  6992. # Add -DDCLTIMEVAL when building with UDK.
  6993. sco32v506a:
  6994. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  6995. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR506A -DNEEDMDMDEFS \
  6996. -b elf -DPOSIX $(KFLAGS)"
  6997. #SCO OpenServer 5.0.6a with networking, SCO development tools.
  6998. # Add -DDCLTIMEVAL when building with UDK.
  6999. sco32v506anet:
  7000. @echo TCP/IP networking added...
  7001. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  7002. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR506A -DNEEDMDMDEFS \
  7003. -b elf -DPOSIX $(KFLAGS)"
  7004. #SCO OpenServer 5.0.7, no networking, SCO development tools.
  7005. #Adds flags to make PTY and SSH commands work. These have been tested
  7006. #only in 5.0.7 but probably they can also be added to earlier OSR5 targets.
  7007. sco32v507:
  7008. $(MAKE) "MAKE=$(MAKE)" sco32v500 KTARGET=$${KTARGET:-$(@)} \
  7009. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR507 -DNEEDMDMDEFS \
  7010. -DHAVE_PTSNAME -DHAVE_PTMX -DHAVE_GRANTPT \
  7011. -b elf -DPOSIX $(KFLAGS)"
  7012. #SCO OpenServer 5.0.7 as above but with networking.
  7013. sco32v507net:
  7014. @echo TCP/IP networking added...
  7015. $(MAKE) "MAKE=$(MAKE)" sco32v500net KTARGET=$${KTARGET:-$(@)} \
  7016. "KFLAGS=-DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR507 -DNEEDMDMDEFS \
  7017. -DHAVE_PTSNAME -DHAVE_PTMX -DHAVE_GRANTPT \
  7018. -b elf -DPOSIX $(KFLAGS)"
  7019. #SCO OpenServer 6 (new target 30 Jan 2006)
  7020. sco_osr600 sco600:
  7021. @echo Making C-Kermit $(CKVER) for SCO OpenServer 6.0.0...
  7022. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7023. "CFLAGS= -O -DDIRENT -DHDBUUCP -DSVR4 -DCK_SCOV5 -DCK_RTSCTS \
  7024. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DSELECT -DSELECT_H \
  7025. -DNOGETUSERSHELL -DNOLSTAT -DNOLINKBITS -DTCPSOCKET \
  7026. -DNO_DNS_SRV -DSCO_OSR505 -DSCO_OSR506 -DSCO_OSR507 -DNEEDMDMDEFS \
  7027. -DHAVE_PTSNAME -DHAVE_PTMX -DHAVE_GRANTPT -DDCLTIMEVAL \
  7028. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
  7029. -DSOCKOPT_T=socklen_t -DGSOCKNAME_T=size_t -DGPEERNAME_T=size_t \
  7030. -DHERALD=\"\\\" SCO OpenServer `uname -v`\\\"\" \
  7031. -b elf -DPOSIX $(KFLAGS)" \
  7032. "LIBS=-lcurses -lsocket $(LIBS)" "LNKFLAGS=$(LNKFLAGS)"
  7033. #Tandy 16/6000 with Xenix 3.0 (16 bits)
  7034. #C-Kermit 7.0 (and later) do not build here; "too many defines".
  7035. #Add more -DNOxxx options to remove features if program won't load.
  7036. #Successful operation is a function of program size, physical memory,
  7037. #available swap space, etc. The following stripped-down configuration
  7038. #seems to work on most Tandy 6000s. NOTE: "-+" means allow long variable
  7039. #names, needed for C-Kermit 6.0 because some identifiers are not unique
  7040. #within the first six characters.
  7041. trs16:
  7042. @echo 'Making C-Kermit $(CKVER) for Tandy 16/6000, Xenix 3.0...'
  7043. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7044. "CFLAGS = -+ -DATTSV -DTRS16 -DNOMKDIR -DDCLPOPEN -DCK_CURSES \
  7045. -DNODEBUG -DNOTLOG -DNOHELP -DNOSCRIPT -DNOCSETS -DNOIKSD \
  7046. -DNOREDIRECT -DNOSYSLOG -DNOPUTENV -DNOREALPATH -DNOLEARN \
  7047. $(KFLAGS) -O" "LIBS= -lcurses -ltermcap" "LNKFLAGS = -+ -n -s"
  7048. # QNX 4.21 and above, 32-bit version, Watcom C32 10.6, fully configured,
  7049. # except no job control because QNX 4.x does not support it. New NCURSES
  7050. # library used instead of CURSES.
  7051. #
  7052. # -Oatx optimizes to favor speed over size: loop optimization, inline fn's.
  7053. # -Os favors size over speed. Saves 30-40K out of about 1.75M.
  7054. # -3r = generate 386 code with register-based arg passing.
  7055. # -3s = generate 386 code with stack-based arg passing.
  7056. # -ms = separate code & data 4GB segments (32-bit builds only).
  7057. # -mf = flat memory model code+data in one 4GB segment (ditto).
  7058. # -zc = place literal strings in code segment.
  7059. # -N4M = Big stack (increase the digit upon SIGSEGVs at runtime).
  7060. # chars are unsigned by default (-j makes them signed by default).
  7061. # -NOUUCP is included because QNX doesn't use it.
  7062. # Add these to the end if you like but they dump core on my QNX 4.25 system:
  7063. #
  7064. # @wermit -h >use.qnx
  7065. # @usemsg wermit use.qnx
  7066. # @rm use.qnx
  7067. #
  7068. # If you get warnings about HEADER or C_IN add -DNO_DNS_SRV.
  7069. # OK 2011/06/14
  7070. qnx32:
  7071. @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit...'
  7072. $(MAKE) xermit \
  7073. "LNKFLAGS = -N4M -3r" \
  7074. "CFLAGS = -ms -3r -DQNX -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL \
  7075. -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
  7076. -DNOINITGROUPS -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
  7077. "LIBS= -lsocket -lncurses -ltermcap"
  7078. # As above but no networking since some QNX systems do not have TCP/IP
  7079. # installed, or the TCP/IP developers kit, which includes all the needed
  7080. # header files. This entry has not been tested on a QNX system that, in
  7081. # fact, does not have TCP/IP installed; some adjustments might be necessary,
  7082. # in particular regarding the use of select(): is -lsocket needed, can we
  7083. # get the needed definitions from non-TCP/IP header files (FD_SET, etc)?
  7084. qnx32nonet:
  7085. @echo 'Making C-Kermit $(CKVER) for QNX 4.2x, 32-bit, no net...'
  7086. $(MAKE) xermit \
  7087. "LNKFLAGS = -N4M -3r" \
  7088. "CFLAGS = -3r -ms -DQNX -DNONET -DNOIKSD -DCK_CURSES \
  7089. -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS -DNOJC \
  7090. -DNOUUCP -DCK_ANSIC -DPID_T=pid_t -Oatx -zc $(KFLAGS)" \
  7091. "LIBS= -lsocket -lncurses -ltermcap"
  7092. @wermit -h >use.qnx
  7093. @usemsg wermit use.qnx
  7094. @rm use.qnx
  7095. # Synonym for qnx32.
  7096. qnx:
  7097. $(MAKE) qnx32 "KFLAGS=$(KFLAGS)"
  7098. # QNX 4.21 and above, 16-bit version, Watcom C 8.5 - and higher on i286 PCs
  7099. # and above.
  7100. #
  7101. # IMPORTANT: Do not use Watcom C 10.6!!!
  7102. # If you have it installed, add "-v9.52 to CFLAGS"
  7103. #
  7104. # NOTE: QNX 4.23 onward does not work on 286's anyway.
  7105. # Stacksize 26000, objects larger than 100 bytes in their own segments,
  7106. # string constants to the codesegment, etc. Fully configured except job ctrl.
  7107. # This entry works for building a 16-bit executable on a 32-bit system, but
  7108. # has not been tested on a 16-bit system. Uses large memory model, links
  7109. # explicitly with large-model sockets library. Correct-model curses library
  7110. # is chosen automatically. See comment in qnx32 entry about -DNOUUCP.
  7111. #
  7112. # WARNING:
  7113. #
  7114. # Watcom C prior to 10.6 never had released curses library. To link against it,
  7115. # you must obtain ported free curses source from ftp://ftp.qnx.com/usr/free,
  7116. # then compile and build library (cursesl.lib) and place it in /usr/lib. You
  7117. # must also copy curses.h to /usr/include. Be aware that if you have Watcom
  7118. # 10.6 installed, you should already have curses.h, which is the new ncurses
  7119. # library. You must back it up and use free curses.h instead, since ncurses is
  7120. # only for 32-bit applications and some definitions in these files are
  7121. # different (e.g., clearok()). For safety, curses is not defined in build.
  7122. #
  7123. # In 7.0 -DNOHELP added to keep ckuus2.c from blowing up; NOCSETS and NOSPL
  7124. # added because ckuus4 was blowing up, and NOFLOAT just because it seemed
  7125. # dangerous (remove -DNOFLOAT if you want to try it), The result works OK
  7126. # except for some mysterious beeps upon termination of the top-level keyword.
  7127. #
  7128. # Things to try next time we get in trouble:
  7129. # . Change -zt100 to something smaller like -zt25
  7130. # . Change -Oatx to -Omilerat (enable stack checking)
  7131. # . Maybe get rid of -v9.52 -- it's only there because we were warned.
  7132. #
  7133. qnx16:
  7134. @echo 'Making C-Kermit $(CKVER) for QNX 4.21, 16-bit...'
  7135. $(MAKE) xermit \
  7136. "LNKFLAGS = -2 -ml -N 26000" \
  7137. "CFLAGS = -2 -Oatx -zc -zt100 -ml -DQNX -DQNX16 -DNOUUCP -DNOHELP \
  7138. -DCK_REDIR -DSELECT -DSELECT_H -DNOJC -DNOGETUSERSHELL -DNOCSETS \
  7139. -v9.52 -DTCPSOCKET -DCK_RTSCTS -DCK_ANSIC -DNOINITGROUPS -DNOKVERBS \
  7140. -DNORANDOM -DNOCSETS -DNOSPL -DNOFLOAT -DPID_T=pid_t $(KFLAGS)"
  7141. # QNX 4.1, 16-bit version, with Watcom C 8.5 on i286 PCs and above.
  7142. # stacksize 26000, objects larger than 100 bytes in their own segments,
  7143. # string constants to the codesegment, etc. Add -DNOUUCP if desired.
  7144. qnx16_41:
  7145. @echo 'Making C-Kermit $(CKVER) for QNX 4.1, 16-bit...'
  7146. $(MAKE) xermit \
  7147. "LNKFLAGS = -mh -N 26000" "CFLAGS = -Wc,-fpc -Wc,-j -DNOGETUSERSHELL \
  7148. -Wc,-Ols -Wc,-zdf -Wc,-zc -Wc,-zt100 -mh -DPOSIX -DQNX -DDIRENT \
  7149. -DNOCYRIL -DNODEBUG -DNOMSEND -DMINIDIAL -DNOXMIT -DNOSCRIPT -DNOSPL \
  7150. -DNOSETKEY -DNOINITGROUPS -DQNX16 -DPID_T=pid_t $(KFLAGS)"
  7151. # QNX Neutrino 2 (pwaechtler@qnx.de) crosscompiled on QNX 4.25.
  7152. # Gets lots of compiler warnings.
  7153. qnx_nto2+:
  7154. @echo 'Making C-Kermit $(CKVER) for QNX Neutrino 2+ '
  7155. cc -o wart ckwart.c
  7156. $(MAKE) xermit \
  7157. "CC = qcc -Vgcc_ntox86" \
  7158. "CC2 = qcc -Vgcc_ntox86" \
  7159. "LNKFLAGS = " \
  7160. "CFLAGS = -DNEUTRINO -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL \
  7161. -DNOUUCP -DCK_WREFRESH -DCK_REDIR -DSELECT -DSELECT_H -DCK_RTSCTS \
  7162. -DNOJC -DNOINITGROUPS -DCK_ANSIC -DPID_T=pid_t -DUNIX -DDIRENT \
  7163. -DMYREAD -DBSD44ORPOSIX -DSVORPOSIX -DNDGPWNAM $(KFLAGS)" \
  7164. "LIBS= -lsocket -lncurses "
  7165. # QNX 6 (= Neutrino 2.xx) native build (kirussel@cisco.com).
  7166. qnx6:
  7167. @echo 'Making C-Kermit $(CKVER) for QNX6'
  7168. $(MAKE) xermit KTARGET=QNX6 \
  7169. "CFLAGS = -DPOSIX -DCK_POSIX_SIG -DNETPTY -DNOARROWKEYS \
  7170. -DUSE_TIOCSDTR -DBIGBUFOK -DCKMAXOPEN=100 -DRLOGCODE -DNOREALPATH \
  7171. -DMAXNAMLEN=48 -DQNX6 -DUSE_TERMIO -DINIT_SPTY \
  7172. -DCK_CURSES -DCK_WREFRESH -DCK_NEWTERM -DDYNAMIC \
  7173. -DTCPSOCKET -DNOGETUSERSHELL -DCK_REDIR -DSELECT -DSELECT_H \
  7174. -DCK_RTSCTS -DNOJC -DSVORPOSIX -DBSD44ORPOSIX -DNOUUCP -DCK_ANSIC \
  7175. $(KFLAGS) -O" \
  7176. "LIBS= -lsocket -lncurses"
  7177. #MINIX/2.0 32 Bit version for intel 386+ running the POSIX-compliant MINIX
  7178. # version 2.0 (The definition of fatal avoids a conflict with a symbol by
  7179. # the same name in the curses library.) It is impossible to compile with
  7180. # network support since Minix does not support Berkeley sockets.
  7181. # Note: use chmem liberally on the compiler passes, make, and the final
  7182. # kermit executable. (3 megabytes of memory for each is sufficient.)
  7183. # From Terry McConnell, Syracuse U, and Will Rose. Will says:
  7184. # The stacks for make and some compiler passes needed to be increased
  7185. # with chmem as follows:
  7186. # make 1MB
  7187. # /usr/lib/em_cemcom.ansi 3MB
  7188. # /usr/lib/em_opt 1MB
  7189. # /usr/lib/i386/cg 1MB
  7190. # /usr/lib/i386/as 1MB
  7191. # The compiler temporary directory was set to /usr/tmp via the TMPDIR
  7192. # environment variable; more than 1MB of temporary space was needed.
  7193. # Kermit itself needs at least 1MB of stack.
  7194. minix20:
  7195. @echo 'Making C-Kermit $(CKVER) for MINIX 2.0/386...'
  7196. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} EXT=o \
  7197. "CFLAGS= -wo -DV7 -DMINIX2 -DMINIX -DSIG_V -D_POSIX_SOURCE \
  7198. -DCKCPU=\\\"i-386\\\" -DNOIKSD -Dfatal=myfatal -DCK_CURSES -DNOLEARN \
  7199. -DNOSYSLOG -DUSE_MEMCPY -DNOREALPATH $(KFLAGS)" "LIBS= -lcurses"
  7200. #MINIX/386 (PC Minix modified by Bruce Evans in Australia for 386 addressing)
  7201. # For MINIX 1.5+ (but < 2.0)
  7202. minix386:
  7203. @echo 'Making C-Kermit $(CKVER) for MINIX/386...'
  7204. @echo 'TOTALLY UNTESTED!'
  7205. $(MAKE) wermit EXT=s KTARGET=$${KTARGET:-$(@)} \
  7206. "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DNOLEARN $(KFLAGS)"
  7207. #MINIX/386 Minix modified by Bruce Evans in Australia to use 386 addressing
  7208. minix386gcc:
  7209. @echo 'Making C-Kermit $(CKVER) for MINIX/386 with gcc...'
  7210. @echo 'TOTALLY UNTESTED!'
  7211. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} "CC=gcc -g -O" "CC2=gcc -g" \
  7212. "CFLAGS= -DV7 -DMINIX -D_POSIX_SOURCE -DNOLEARN $(KFLAGS)"
  7213. #MINIX - 68k version with ACK compiler.
  7214. # If you have trouble compiling or running wart, "touch wart".
  7215. # If it still doesn't work, "touch ckcpro.c".
  7216. # The version configured below has many features removed, including
  7217. # the TRANSMIT, MSEND, HELP, and SCRIPT commands, international
  7218. # character set support, and the entire script programming language.
  7219. # But it does have an interactive command parser.
  7220. # Make sure make(1) has (at least) 100000 chmemory!
  7221. # If you are using the Amsterdam C compiler, you might have to add "-D__ACK__".
  7222. minix68k:
  7223. @echo 'Making C-Kermit $(CKVER) for MINIX 68k with ACK...'
  7224. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7225. "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DNOLEARN \
  7226. -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  7227. -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
  7228. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  7229. #MINIX - 68k version with c68 compiler.
  7230. # If you have trouble compiling or running wart, "touch wart" or
  7231. # "touch ckcpro.c". Compiling ckudia.c (no -DNODIAL!) might fail. :-(
  7232. # Give c68 250000 bytes of stack+heap; make sure make(1) has at least
  7233. # 100000 chmemory. On a 1MB Atari ST this means that the recursive
  7234. # call of make fails due to memory shortage. Try "make -n minixc68 >makeit",
  7235. # followed by ". makeit". Otherwise, as above.
  7236. minixc68:
  7237. @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...'
  7238. $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
  7239. "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE -DNOLEARN \
  7240. -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  7241. -DNOSCRIPT -DNOCSETS -DNOSPL $(KFLAGS) \
  7242. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  7243. #MINIX - 68k version with c68 compiler.
  7244. #A variation on the above that was recently (Sep 95) reported to work.
  7245. minixc68a:
  7246. @echo 'Making C-Kermit $(CKVER) for MINIX 68k with c68...'
  7247. $(MAKE) wermit "CC= cc -c68" KTARGET=$${KTARGET:-$(@)} \
  7248. "CFLAGS= -DV7 -DMINIX -D_MINIX -D_POSIX_SOURCE \
  7249. -DCK_ANSIC -DNODEBUG -DNOTLOG -DMINIDIAL -DEXTEN -DMYCURSES \
  7250. -DNOSCRIPT -DNOCSETS -DNOSPL -DNOJC -DDIRENT -DNOLEARN \
  7251. -DNOSETKEY -DNOESCSEQ $(KFLAGS) \
  7252. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V"
  7253. #MIPS Computer Systems with UMIPS RISC/OS 4.52 = AT&T UNIX System V R3.0.
  7254. #Remove -DNOJC if job control can be safely used.
  7255. mips:
  7256. @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
  7257. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7258. "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC -DNOLEARN -DPID_T=int \
  7259. -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)"
  7260. #As above, but with TCP/IP and fullscreen support.
  7261. mipstcpc:
  7262. @echo 'Making C-Kermit $(CKVER) for MIPS RISC/OS...'
  7263. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7264. "CFLAGS = -DMIPS -DDIRENT -DCK_POLL -DNOJC \
  7265. -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd \
  7266. -DPID_T=int -DGID_T=gid_t -DUID_T=uid_t -i -O1500 $(KFLAGS)" \
  7267. "LIBS = -lcurses -lbsd"
  7268. #Motorola Delta System V/68 R3, signal() is void rather than int.
  7269. #Uses dirent.h and Honey DanBer uucp. Supports TCP/IP.
  7270. #After building, use "mcs -d" to reduce size of the executable program.
  7271. sv68r3:
  7272. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3...'
  7273. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7274. "CFLAGS = -DSVR3 -DSV68 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DTCPSOCKET \
  7275. -DNOUNICODE -DNOLEARN -DUSE_MEMCPY $(KFLAGS) -O" "LNKFLAGS ="
  7276. #Motorola Delta System V/68 R3V5, signal() is void rather than int.
  7277. #Uses dirent.h and Honey DanBer UUCP. Supports TCP/IP.
  7278. #After building, use "mcs -d" to reduce size of the executable program.
  7279. sv68r3v5:
  7280. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5'
  7281. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7282. "CFLAGS = -DSVR3 -DSV68 -DDIRENT -DHDBUUCP -DNO_DNS_SRV -DUSE_MEMCPY \
  7283. -DTCPSOCKET -DINADDRX -DNOUNICODE -DFNFLOAT -DNOLEARN $(KFLAGS) -O" \
  7284. "LNKFLAGS =" "LIBS = -linet -lm"
  7285. #Motorola MVME147 System V/68 R3 V5.1. Requires gcc 2.1 to compile.
  7286. #After building, use "mcs -d" to reduce size of the executable program.
  7287. sv68r3v51:
  7288. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V5.1'
  7289. $(MAKE) wermit "CC=gcc-delta" "CC2=gcc-delta" \
  7290. KTARGET=$${KTARGET:-$(@)} \
  7291. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNODEBUG -DNO_DNS_SRV -DNOLEARN \
  7292. -DNOUNICODE -DFNFLOAT -DSV68 -DUSE_MEMCPY $(KFLAGS) \
  7293. -O2 -v -ftraditional" \
  7294. "LNKFLAGS = -s -v" "LIBS = -lm881 -lm"
  7295. #Motorola MVME147 System V/68 R3V6. derived from Motorola Delta System R3V5.
  7296. #Checked on larger Motorola System V/68 R3V6 (with NSE Network Services Ext.)
  7297. #After building, use "strip" to reduce size of the executable program.
  7298. # "LIBS = -lnsl" removed in C-Kermit 6.1 - put back if needed.
  7299. # "LIBS = lm" added in 7.1/8.0 for floating-point math.
  7300. # ckuusr.c clobbers the optimizer.
  7301. sv68r3v6:
  7302. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/68 R3V6'
  7303. $(MAKE) ckuusr.$(EXT) KTARGET=$${KTARGET:-$(@)} \
  7304. "CFLAGS = -DSV68R3V6 -DDIRENT -DHDBUUCP -DNOLOGIN -DNOINITGROUPS \
  7305. -DNOSYMLINK -DNOREDIRECT -DNOGFTIMER -DTCPSOCKET -DDCLGETCWD -DSV68 \
  7306. -DNO_DNS_SRV -DNOUNICODE -DFNFLOAT -DSELECT -DUSE_MEMCPY $(KFLAGS)"
  7307. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7308. "CFLAGS = -O -DSV68R3V6 -DDIRENT -DHDBUUCP -DNOLOGIN -DNOINITGROUPS \
  7309. -DNOSYMLINK -DNOREDIRECT -DNOGFTIMER -DTCPSOCKET -DDCLGETCWD -DSV68 \
  7310. -DNO_DNS_SRV -DNOUNICODE -DFNFLOAT -DSELECT -DUSE_MEMCPY $(KFLAGS)" \
  7311. "LNKFLAGS =" "LIBS = -lm"
  7312. #Motorola Delta System V/88 R32, signal() is void rather than int.
  7313. #Uses dirent.h and Honey DanBer uucp. Needs <sys/utime.h> for setting
  7314. #file dates. Supports TCP/IP.
  7315. #After building, use "mcs -d" to reduce size of the executable program.
  7316. sv88r32:
  7317. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R32...'
  7318. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7319. "CFLAGS = -DSV88R32 -DDIRENT -DHDBUUCP -DTCPSOCKET \
  7320. -DSYSUTIMEH -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS) -O" \
  7321. "LIBS= -lcurses -lresolv" "LNKFLAGS = -s"
  7322. #Motorola Delta System V/88 R40. Has <sys/termiox.h>, regular Berkeley
  7323. #sockets library, i.e. in.h and inet.h are not misplaced in sys (rather than
  7324. #netinet and arpa, respectively). Uses ANSI C constructs, advisory file
  7325. #locking on devices, etc. curses support added. Reportedly, the
  7326. #/usr/include/sys/vnode.h file has a bug which must be fixed before this
  7327. #makefile entry can work correctly. The "if DEBUG" directive at about line
  7328. #320 must be changed to "ifdef DEBUG" (Reportedly, this was fixed in
  7329. #in System V/88 R4.3).
  7330. #After building, use "mcs -d" to reduce size of the executable program.
  7331. sv88r40:
  7332. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
  7333. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7334. "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP -DSTERMIOX \
  7335. -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG -DFNFLOAT \
  7336. $(KFLAGS)" \
  7337. "LIBS= -lsocket -lnsl -lcurses -lresolv -lm" "LNKFLAGS = -s"
  7338. #As above but without the floating-point math library.
  7339. sv88r40nm:
  7340. @echo 'Making C-Kermit $(CKVER) for Motorola UNIX System V/88 R40...'
  7341. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7342. "CFLAGS = -O -DSVR4 -DMOTSV88R4 -DDIRENT -DHDBUUCP -DSTERMIOX \
  7343. -DTCPSOCKET -DCK_CURSES -DNOGETUSERSHELL -DGTODONEARG $(KFLAGS)" \
  7344. "LIBS= -lsocket -lnsl -lcurses -lresolv" "LNKFLAGS = -s"
  7345. #As above but with floating-point math library support \ffp...() functions
  7346. #and S-Expressions.
  7347. #Olivetti X/OS R2.3, 3.x.
  7348. #NOTES:
  7349. # . If you build the executable on 2.x X/OS, it will also run on 3.x.
  7350. # . If you build it on 3.x X/OS, it will NOT run on 2.x.
  7351. # . Kermit can run with no privileges unless the uucp lines are protected,
  7352. # in which case kermit must be owned by uucp with suid bit set:
  7353. # chown uucp kermit ; chmod 4111 kermit.
  7354. xos23:
  7355. @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS...'
  7356. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7357. 'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP $(KFLAGS)' \
  7358. "LIBS=" "LNKFLAGS="
  7359. #As above, but with curses.
  7360. xos23c:
  7361. @echo 'Making C-Kermit $(CKVER) for Olivetti X/OS with curses...'
  7362. $(MAKE) xermit KTARGET=$${KTARGET:-$(@)} \
  7363. 'CFLAGS=-OLM -DOXOS -DTCPSOCKET -DHDBUUCP -DCK_CURSES $(KFLAGS)' \
  7364. "LIBS=-lcurses" "LNKFLAGS="
  7365. ckuuid:
  7366. @echo 'building C-Kermit $(CKVER) set-UID/set-GID test programs'
  7367. $(CC) -DANYBSD -DSAVEDUID -o ckuuid1 ckuuid.c
  7368. $(CC) -DANYBSD -o ckuuid2 ckuuid.c
  7369. $(CC) -DANYBSD -DNOSETREU -o ckuuid3 ckuuid.c
  7370. $(CC) -DANYBSD -DSETEUID -DNOSETREU -o ckuuid4 ckuuid.c
  7371. $(CC) -o ckuuid5 ckuuid.c
  7372. @echo 'Read the top of ckuuid.c for directions...for testing'
  7373. @echo 'you must make these programs setuid and setgid'
  7374. ############################################################################
  7375. # A N T I Q U I T I E S
  7376. #
  7377. # The following are antique targets from C-Kermit 5A or earlier. They have
  7378. # not been updated or tested in years. Most of them will need recent features
  7379. # disabled, usually with some combination of -DNOUNICODE, -DNOIKSD, -DNOANSI,
  7380. # -DNOCKGHNLHOST, -DNO_DNS_SRV, -DNOREDIRECT, -DNOREALPATH, -DNOCURSES, etc.
  7381. # They are also missing the KTARGET=$${KTARGET:-$(@)} business.
  7382. # For details see ckuins.txt and ckccfg.txt.
  7383. #
  7384. ############################################################################
  7385. #Berkeley Unix 2.8, 2.9 for PDP-11s with I&D space, maybe also Ultrix-11???
  7386. #C-Kermit(5A) is simply too large (even turning off almost every feature
  7387. #available) to run without both I&D space plus overlays. The old comment
  7388. #suggested running 'pcc' but that won't help. Changing 'cc' to 'ckustr.sed'
  7389. #will cause a string extraction to be done, saving D space by moving strings
  7390. #to a file.
  7391. bsd29:
  7392. @echo Making C-Kermit $(CKVER) for 2.8 or 2.9BSD.
  7393. @echo Read the makefile if you have trouble with this...
  7394. $(MAKE) ovwermit \
  7395. "CFLAGS= -DBSD29 -DNODEBUG -DNOTLOG -DNOCSETS -DNOHELP \
  7396. -DNOSCRIPT -DNOSPL -DNOXMIT -DNODIAL $(KFLAGS)" \
  7397. "LNKFLAGS= -i -lndir" "CC= cc " "CC2= cc"
  7398. bsd210:
  7399. @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.10BSD.
  7400. bsd211:
  7401. @echo Please use ckubs2.mak to build C-Kermit $(CKVER) for 2.11BSD.
  7402. #Charles River Data Systems Universe with UNOS Version 9.2
  7403. crds:
  7404. @echo 'Making C-Kermit $(CKVER) for Charles River Data Systems...'
  7405. make xermit \
  7406. "CFLAGS = -DATTSV -DNOANSI -DDIRENT -DLONGFN -DTCPSOCKET \
  7407. -DLOCK_DIR=\\\"/usr/spool/uucp\\\" -DNOSETREU \
  7408. -Dsuspend=ksuspend $(KFLAGS) -O" "LNKFLAGS ="
  7409. #Microport SV/AT for IBM PC/AT 286 and clones, System V R2.
  7410. #The -O flag may fail on some modules (like ckuus2.c), in which case you
  7411. #should compile them by hand, omitting the -O. If you get "hash table
  7412. #overflow", try adding -DNODEBUG.
  7413. #Also, reportedly this compiles better with gcc than with cc.
  7414. mpsysv:
  7415. @echo 'Making C-Kermit $(CKVER) for Microport SV/AT 286...'
  7416. $(MAKE) wermit \
  7417. "CFLAGS= -DATTSV -DNOLEARN $(KFLAGS) -O -Ml" "LNKFLAGS = -Ml"
  7418. #Microsoft "Xenix/286" e.g. for IBM PC/AT
  7419. xenix:
  7420. @echo 'Making C-Kermit $(CKVER) for Xenix/286'
  7421. $(MAKE) wermit \
  7422. "CFLAGS= -DXENIX -DNOFILEH -DNOLEARN $(KFLAGS) -Dunix -F 3000 -i" \
  7423. "LNKFLAGS = -F 3000 -i"
  7424. #PC/IX, Interactive Corp System III for IBM PC/XT
  7425. pcix:
  7426. @echo 'Making C-Kermit $(CKVER) for PC/IX...'
  7427. $(MAKE) wermit \
  7428. "CFLAGS= -DPCIX -DISIII -DNOLEARN $(KFLAGS) \
  7429. -Dsdata=sdatax -O -i" "LNKFLAGS = -i"
  7430. #Integrated Solutions Inc V8S VME 68020
  7431. isi:
  7432. @echo Making C-Kermit $(CKVER) for 4.2BSD on ISI...
  7433. $(MAKE) wermit "CC = cc" \
  7434. "CFLAGS= -DBSD4 -DTCPSOCKET -DINADDRX -DDCLPOPEN -DDEBUG -DNOSETREU \
  7435. -DCK_CURSES -DNOLEARN $(KFLAGS)" "LIBS = -lcurses -ltermcap"
  7436. #Interactive Corp version of AT&T System III
  7437. #is3: (very old, probably not sufficient for 5A or later)
  7438. # @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
  7439. # make wermit "CFLAGS = -DISIII -Ddata=datax -O -i" "LNKFLAGS = -i"
  7440. #The following should work, use it if you don't have gcc.
  7441. #Use is3gcc if you have gcc.
  7442. is3:
  7443. @echo 'Making C-Kermit $(CKVER) for Interactive System III...'
  7444. $(MAKE) wermit \
  7445. "CFLAGS= -DISIII $(KFLAGS) -Ddata=datax -DNAP -DHDBUUCP
  7446. -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O -i" "LNKFLAGS = -i"
  7447. #Interactive UNIX System V R3, no network support. Uses <dirent.h> and Honey
  7448. #DanBer UUCP. If this entry does not compile correctly, try any or all of the
  7449. #following. These suggestions also apply more or less to the other is5r3xxx
  7450. #entries that follow this one.
  7451. # . Remove the UID_T and GID_T definitions, or change them as required.
  7452. # . Change -DDIRENT to -DSDIRENT.
  7453. # . Add -DSIGTYP=void.
  7454. # . Remove -g from LNKFLAGS.
  7455. # . Add -DNOANSI to remove compiler complaints about ANSI C constructions
  7456. # . Add other -DNOxxx's to save space (e.g. -DNOCSETS)
  7457. # See the next few makefile entries for related examples.
  7458. # Also see sys5r32is for making a portable i386 SVR3 binary.
  7459. is5r3:
  7460. @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
  7461. @echo 'If this does not work please read the makefile entry.'
  7462. $(MAKE) wermit \
  7463. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS -DNOREALPATH \
  7464. -DUID_T=ushort -DGID_T=ushort -DI386IX $(KFLAGS)" \
  7465. "LNKFLAGS = -g"
  7466. #Interactive Corp System System V R3 with gcc
  7467. is3gcc:
  7468. @echo 'Making C-Kermit $(CKVER) for Interactive System V R3 / gcc...'
  7469. $(MAKE) wermit CC=gcc CC2=gcc \
  7470. 'CFLAGS = -D_SYSV3 -DISIII -Ddata=datax -DNAP -DHDBUUCP -DNOREALPATH \
  7471. -DLOCK_DIR=\"/usr/spool/uucp\" -DSIGTYP=void -O' "LNKFLAGS ="
  7472. #Interactive UNIX System V R3, POSIX variant. Untested.
  7473. #Uses dirent.h and Honey DanBer uucp. Read comments in is5r3 entry.
  7474. is5r3p:
  7475. @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix or later...'
  7476. $(MAKE) wermit \
  7477. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP -g -DNOCSETS -DNOREALPATH \
  7478. -DI386IX -DPOSIX $(KFLAGS)" "LNKFLAGS=" "LIBS=-lcposix"
  7479. #Interactive UNIX SVR3 2.2.1, job control, curses, no net, gcc.
  7480. is5r3gcc:
  7481. $(MAKE) wermit CC=gcc CC2=gcc \
  7482. "CFLAGS=-g -posix -DSVR3 -DDIRENT -DNOREALPATH \
  7483. -DHDBUUCP -O -DNOCSETS -DI386IX -DSVR3JC -DCK_CURSES \
  7484. $(KFLAGS)" LNKFLAGS="-posix" LIBS="-lcurses -lc_s"
  7485. #Interactive UNIX System V R3 with TCP/IP network support.
  7486. #Needs -linet for net functions. signal() is void rather than int.
  7487. #Uses dirent.h and Honey DanBer uucp. Read comments in is5r3 entry.
  7488. #Also see is5r3net2 if you have trouble with this entry.
  7489. is5r3net:
  7490. @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
  7491. @echo 'If this does not work please read the makefile entry.'
  7492. $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  7493. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET -DNOREALPATH \
  7494. -DI386IX $(KFLAGS) -O" "LIBS = -linet"
  7495. is5r3netgcc:
  7496. $(MAKE) is5r3net CC=gcc CC2=gcc
  7497. #Interactive UNIX System V R3, no job control, signal() void rather than int.
  7498. #Uses dirent.h and Honey DanBer uucp. Needs -linet for net functions.
  7499. #Read comments in is5r3 entry. Use this entry if is5r3net fails.
  7500. #Saves some space by stripping (-s) and using shared library (-lc_s).
  7501. is5r3net2:
  7502. @echo 'Making C-Kermit $(CKVER) for Interactive 386/ix...'
  7503. $(MAKE) wermit \
  7504. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DTCPSOCKET -DNOJC -DNOREALPATH \
  7505. -DSIGTYP=void -DNOANSI -DI386IX $(KFLAGS) -O" \
  7506. "LNKFLAGS= -s" "LIBS = -linet -lc_s"
  7507. #Interactive UNIX System V R3 (version 2.2 or later) with job control & curses.
  7508. #Uses dirent.h and Honey DanBer UUCP.
  7509. is5r3jc:
  7510. @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
  7511. $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  7512. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
  7513. -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
  7514. -DPOSIX_JC -DCK_REDIR -DCK_POLL -DDCLGETCWD \
  7515. $(KFLAGS)" "LIBS=-lcurses -lc_s -linet"
  7516. is5r3jcgcc:
  7517. $(MAKE) is5r3jc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
  7518. KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
  7519. #Sunsoft/Interactive UNIX System V R3 (version 2.2 or later)
  7520. #with job control, curses, and TCP/IP networking.
  7521. #Uses dirent.h and Honey DanBer UUCP.
  7522. is5r3netjc:
  7523. @echo 'Making C-Kermit $(CKVER) for Interactive Unix 2.2 or later...'
  7524. $(MAKE) wermit CC="$(CC)" CC2="$(CC2)" \
  7525. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -O -DNOCSETS -DNOREALPATH \
  7526. -DUID_T=ushort -DGID_T=ushort -DI386IX -DSVR3JC -DCK_CURSES \
  7527. -DPOSIX_JC -DCK_REDIR -DTCPSOCKET -DSELECT \
  7528. $(KFLAGS)" "LIBS=-linet -lcurses -lc_s"
  7529. is5r3netjcgcc:
  7530. $(MAKE) is5r3netjc CC="gcc -DCK_ANSILIBS -DDCGPWNAM -O4" CC2=gcc \
  7531. KFLAGS="$(KFLAGS)" LNKFLAGS="$(LNKFLAGS)"
  7532. #Masscomp System III
  7533. rtu:
  7534. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU System III...'
  7535. $(MAKE) wermit \
  7536. "CFLAGS= -UFIONREAD -DATTSV $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -ljobs"
  7537. #Masscomp/Concurrent RTU 4.0 or later, Berkeley environment.
  7538. #Includes <ndir.h> = /usr/include/ndir.h
  7539. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  7540. rtubsd:
  7541. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
  7542. ucb make wermit \
  7543. "CFLAGS= -DBSD4 -DRTU -DNDIR -DHDBUUCP -DTCPSOCKET $(KFLAGS)" \
  7544. "LIBS = -lndir"
  7545. #Masscomp/Concurrent RTU 4.0 or later, same as above,
  7546. #Includes "usr/lib/ndir.h"
  7547. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  7548. rtubsd2:
  7549. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.1A...'
  7550. ucb make wermit \
  7551. "CFLAGS= -DBSD4 -DRTU -DXNDIR -DHDBUUCP $(KFLAGS)" \
  7552. "LIBS = -lndir"
  7553. #Masscomp/Concurrent RTU 4.0 or later, same as above,
  7554. #Includes <sys/ndir.h>
  7555. #Note "LIBS = -lndir" might not be necessary because of "ucb make".
  7556. rtubsd3:
  7557. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x BSD...'
  7558. ucb make wermit "CFLAGS= -DBSD4 -DRTU -DHDBUUCP $(KFLAGS)" \
  7559. "LIBS = -lndir"
  7560. #Masscomp/Concurrent RTU 4.0 or later, System V R2, using <dirent.h>.
  7561. #In case of problems, add back the -DRTU switch.
  7562. #In case -DTCPSOCKET gives trouble, remove it.
  7563. rtus5:
  7564. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU 4.x...'
  7565. $(MAKE) wermit \
  7566. "CFLAGS= -DATTSV -DHDBUUCP -DDIRENT -DTCPSOCKET $(KFLAGS)"
  7567. #Masscomp/Concurrent RTU 4.x, System V R3, using <dirent.h>.
  7568. #Use this one if rtus5 gives warnings about pointer type mismatches.
  7569. #In case of problems, add back the -DRTU switch.
  7570. rtus5r3:
  7571. @echo 'Making C-Kermit $(CKVER) for Masscomp RTU Sys V R3...'
  7572. $(MAKE) wermit "CFLAGS= -DSVR3 -DHDBUUCP -DDIRENT $(KFLAGS)"
  7573. #DEC Pro-3xx with Pro/Venix V1.0 or V1.1
  7574. # Requires code-mapping on non-I&D-space 11/23 processor, plus some
  7575. # fiddling to get interrupt targets into resident code section.
  7576. # This almost certainly doesn't work any more.
  7577. provx1:
  7578. @echo 'Making C-Kermit $(CKVER) for DEC Pro-3xx, Pro/Venix 1.x...'
  7579. $(MAKE) wart "CFLAGS= -DPROVX1 $(KFLAGS)" "LNKFLAGS= "
  7580. $(MAKE) wermit "CFLAGS = -DPROVX1 -DNOFILEH -md780" \
  7581. "LNKFLAGS= -u _sleep -lc -md780"
  7582. #Nixdorf Targon/31.
  7583. #AT&T UNIX System V R3, signal() is void rather than int.
  7584. #Uses dirent.h without Honey DanBer uucp.
  7585. t31tos40x:
  7586. @echo 'Making C-Kermit $(CKVER) for Targon/31 with TOS 4.0.xx...'
  7587. $(MAKE) wermit \
  7588. "CFLAGS= -DSVR3 -DDIRENT $(KFLAGS) -O" \
  7589. "LNKFLAGS="
  7590. #NCR Tower 1632, OS 1.02
  7591. tower1:
  7592. @echo 'Making C-Kermit $(CKVER) for NCR Tower 1632, OS 1.02...'
  7593. $(MAKE) wermit "CFLAGS= -DTOWER1 $(KFLAGS)"
  7594. #NCR Tower 32, OS Release 1.xx.xx
  7595. tower32-1:
  7596. @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 1 System V R2...'
  7597. @echo 'Add KFLAGS=-DISDIRBUG if you get errors about S_ISREG/S_ISDIR.'
  7598. $(MAKE) wermit \
  7599. "CFLAGS = -DATTSV $(KFLAGS) -O" "LNKFLAGS = -n"
  7600. #NCR Tower 32, OS Release 2.xx.xx
  7601. tower32-2:
  7602. @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 Rel 2 System V R2...'
  7603. $(MAKE) wermit \
  7604. "CFLAGS = -DATTSV -DHDBUUCP $(KFLAGS) -O2" \
  7605. "LNKFLAGS = -n"
  7606. #NCR Tower 32, OS Releases based on System V R3
  7607. #Don't add -DNAP (doesn't work right) or -DRDCHK (not available in libc).
  7608. tower32:
  7609. @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3...'
  7610. $(MAKE) wermit \
  7611. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
  7612. -DUID_T=ushort -DGID_T=ushort -O1"
  7613. #NCR Tower 32, OS Releases based on System V R3
  7614. tower32g:
  7615. @echo 'Making C-Kermit $(CKVER) for NCR Tower 32 System V R3, gcc...'
  7616. $(MAKE) wermit "CC = gcc" \
  7617. "CFLAGS = -DSVR3 -DDIRENT -DHDBUUCP -DNOSYSIOCTLH $(KFLAGS) \
  7618. DUID_T=ushort -DGID_T=ushort -O -fstrength-reduce -fomit-frame-pointer"
  7619. #Fortune 32:16, For:Pro 1.8 (mostly like 4.1bsd)
  7620. ft18:
  7621. @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 1.8...'
  7622. $(MAKE) wermit \
  7623. "CFLAGS= -DNODEBUG -DBSD4 -DFT18 -DNOFILEH $(KFLAGS) \
  7624. -DPID_T=short"
  7625. #Fortune 32:16, For:Pro 2.1 (mostly like 4.1bsd).
  7626. #The modules that break the optimizer are compiled separately.
  7627. ft21:
  7628. @echo 'Making C-Kermit $(CKVER) for Fortune 32:16 For:Pro 2.1...'
  7629. $(MAKE) ckuusx.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  7630. -SYM 800 -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  7631. "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  7632. $(MAKE) ckuxla.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  7633. -SYM 800 -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  7634. "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  7635. $(MAKE) ckudia.$(EXT) "CFLAGS= -DNODEBUG -DBSD4 -DFT21 -DNOFILEH \
  7636. -SYM 800 -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  7637. "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  7638. $(MAKE) wermit \
  7639. "CFLAGS= -O -DNODEBUG -DBSD4 -DFT21 -DNOFILEH -SYM 800 \
  7640. -DCK_CURSES $(KFLAGS) -DPID_T=short" \
  7641. "LNKFLAGS= -n -s" "LIBS= -lcurses -ltermcap -lv -lnet"
  7642. #Valid Scaldstar
  7643. #Berkeleyish, but need to change some variable names.
  7644. valid:
  7645. @echo 'Making C-Kermit $(CKVER) for Valid Scaldstar...'
  7646. $(MAKE) wermit \
  7647. "CFLAGS= -DBSD4 -DNODEBUG -DNOTLOG -Dcc=ccx -DFREAD=1 $(KFLAGS)"
  7648. #IBM IX/370 on IBM 370 Series mainframes
  7649. #Mostly like sys3, but should buffer packets.
  7650. ix370:
  7651. @echo 'Making C-Kermit $(CKVER) for IBM IX/370...'
  7652. $(MAKE) wermit "CFLAGS = -DIX370 -DATTSV $(KFLAGS) -i -O" \
  7653. "LNKFLAGS = -i"
  7654. #Amdahl UTS 2.4 on IBM 370 series compatible mainframes.
  7655. #Mostly like V7, but can't do initrawq() buffer peeking.
  7656. uts24:
  7657. @echo 'Making C-Kermit $(CKVER) for Amdahl UTS 2.4...'
  7658. $(MAKE) wermit "CFLAGS=-DV7 -DPROCNAME=\\\"$(PROC)\\\" \
  7659. -DUTS24 -DBOOTNAME=\\\"$(BOOTFILE)\\\" -DNPROCNAME=\\\"$(NPROC)\\\" \
  7660. -DNPTYPE=$(NPTYPE) $(DIRECT) $(KFLAGS)"
  7661. #Amdahl UTSV UNIX System V = System V R2 or earlier.
  7662. utsv:
  7663. @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV...'
  7664. $(MAKE) wermit \
  7665. "CFLAGS = -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i"
  7666. #Amdahl UTSV UNIX System V = System V R2 or earlier, with TCP sockets library.
  7667. utsvtcp:
  7668. @echo 'Making C-Kermit $(CKVER) for Amdahl UTSV w/tcp...'
  7669. $(MAKE) wermit "CFLAGS = \
  7670. -DTCPSOCKET -DUTSV $(KFLAGS) -i -O" "LNKFLAGS = -i" \
  7671. "LIBS = -lsocket"
  7672. #BBN C/70 with IOS 2.0
  7673. #Mostly Berkeley-like, but with some ATTisms
  7674. c70:
  7675. @echo 'Making C-Kermit $(CKVER) for BBN C/70 IOS 2.0...'
  7676. $(MAKE) wermit "CFLAGS= -DBSD4 -DC70 $(KFLAGS)"
  7677. #Zilog ZEUS 3.21
  7678. zilog:
  7679. @echo 'Making C-Kermit $(CKVER) for Zilog Zeus 3.21...'
  7680. $(MAKE) wermit \
  7681. "CFLAGS = -DATTSV -DZILOG -DNODEBUG $(KFLAGS) -i -O" \
  7682. "LNKFLAGS = -i -lpw"
  7683. #Whitechapel MG-1 Genix 1.3
  7684. white:
  7685. @echo 'Making C-Kermit $(CKVER) for Whitechapel MG-1 Genix 1.3...'
  7686. @touch ckcpro.c
  7687. $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0 $(KFLAGS)"
  7688. #Pixel 1000
  7689. pixel:
  7690. @echo 'Making C-Kermit $(CKVER) for Pixel 1000...'
  7691. $(MAKE) wermit "CFLAGS= -DBSD4 -Dzkself()=0 $(KFLAGS)"
  7692. ptx:
  7693. $(MAKE) "MAKE=$(MAKE)" dynixptx12
  7694. #CDC VX/VE 5.2.1
  7695. vxve:
  7696. @echo 'Making C-Kermit $(CKVER) for CDC VX/VE 5.2.1...'
  7697. $(MAKE) wermit \
  7698. "CFLAGS = -DATTSV -DVXVE -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  7699. "LNKFLAGS = -i"
  7700. #DIAB DS90 or LUXOR ABC-9000 with pre-5.2 DNIX. Sys V with nap() and rdchk().
  7701. # nd = no opendir(), readdir(), closedir(), etc.
  7702. # Some of the modules fail to compile with -O.
  7703. dnixnd:
  7704. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with very old DNIX 5.2.'
  7705. $(MAKE) wermit \
  7706. "CFLAGS = -DATTSV -DNAP -DRDCHK -DDCLPOPEN \
  7707. -U__STDC__ $(KFLAGS)"
  7708. #DIAB DS90 with DNIX 5.2. Sys V with nap() and rdchk().
  7709. # This one has opendir(), readdir(), closedir(), etc.
  7710. # Some of the modules fail to compile with -O.
  7711. dnix:
  7712. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
  7713. $(MAKE) wermit \
  7714. "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT \
  7715. -U__STDC__ $(KFLAGS)"
  7716. #DIAB DS90 with DNIX 5.2. Sys V with nap() and rdchk().
  7717. # As above, but with curses and TCP/IP.
  7718. # You might get complaints about redefinition of O_RDONLY, etc, because
  7719. # of bugs in the DNIX header files, which can be fixed by adding #ifndef...
  7720. # around the offending definitions in the header files.
  7721. dnixnetc:
  7722. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with old DNIX 5.2...'
  7723. $(MAKE) wermit \
  7724. "CFLAGS = -DATTSV -DNAP -DRDCHK -DDIRENT \
  7725. -DTCPSOCKET -DCK_CURSES -I/usr/include/bsd -U__STDC__ $(KFLAGS)" \
  7726. "LIBS = -ln -lcurses"
  7727. #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk().
  7728. dnix5r3:
  7729. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  7730. @echo 'with Honey DanBer UUCP'
  7731. $(MAKE) wermit \
  7732. "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  7733. -DCK_CURSES -DRENAME $(KFLAGS) -O" "LIBS= -lcurses"
  7734. #DIAB DS90 with DNIX 5.3 or later, with HDB UUCP, nap() and rdchk() + TCP/IP
  7735. dnix5r3net:
  7736. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  7737. @echo 'with Honey DanBer UUCP and TCP/IP'
  7738. $(MAKE) wermit \
  7739. "CFLAGS = -DSVR3 -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  7740. -DTCPSOCKET -DCK_CURSES -DRENAME $(KFLAGS) -O \
  7741. -I/usr/include/bsd" "LIBS = -ln -lcurses"
  7742. #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
  7743. #ANSI C compilation and libraries.
  7744. #Note that for DNIX 5.3 2.2 you have to correct a bug in /usr/include/stdlib.h:
  7745. #change "extern void free(char *str);"
  7746. #to "extern void free(void *str);"
  7747. #NOTE: This bug is reportedly fixed in DNIX 5.3 2.2.1.
  7748. #Should you get fatal errors caused by harmless pointer-type mismatches,
  7749. #like between signed and unsigned char, just remove -X7.
  7750. dnix5r3ansi:
  7751. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  7752. @echo 'with ANSI C Honey DanBer UUCP'
  7753. $(MAKE) wermit \
  7754. "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  7755. -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS)" \
  7756. "LIBS= -lcurses"
  7757. #DIAB DS90 with DNIX 5.3 2.2 or later, with HDB UUCP, nap() and rdchk(),
  7758. # + TCP/IP, ANSI C compilation and libraries.
  7759. #Should you get fatal errors caused by harmless pointer-type mismatches,
  7760. #like between signed and unsigned char, just remove -X7.
  7761. dnix5r3ansinet:
  7762. @echo 'Making C-Kermit $(CKVER) for DIAB DS90 with DNIX 5.3...'
  7763. @echo 'with ANSI C Honey DanBer UUCP'
  7764. $(MAKE) wermit \
  7765. "CFLAGS = -DSVR3 -DDIAB -DHDBUUCP -DNAP -DRDCHK -DDIRENT \
  7766. -DTCPSOCKET -DCK_ANSILIBS -DCK_CURSES -DRENAME -O -X7 -X9 $(KFLAGS) \
  7767. -I/usr/include/bsd" "LIBS= -ln -lcurses"
  7768. #Ridge 32 with ROS 3.2
  7769. ridge32:
  7770. @echo 'Making C-Kermit $(CKVER) Ridge 32 ROS 3.2'
  7771. $(MAKE) wermit \
  7772. "CFLAGS = -DATTSV -DNOFILEH -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  7773. "LNKFLAGS = -i"
  7774. #Altos 486, 586, or 986 with Xenix 3.0
  7775. altos:
  7776. @echo 'Making C-Kermit $(CKVER) for Altos x86 with Xenix 3.0...'
  7777. $(MAKE) wermit \
  7778. "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG $(KFLAGS) -i -O" \
  7779. "LNKFLAGS= -i"
  7780. #Altos 986 with Xenix 3.0, as above, but command-line only, minimal size.
  7781. #For systems with small memories. It might also be necessary to chop certain
  7782. #modules up into smaller pieces, e.g. ckuus3-6, because of symbol table
  7783. #overflow. If this makefile is too big or complex for the Altos, compile
  7784. #and link by hand or write shell scripts.
  7785. altosc:
  7786. @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, remote...'
  7787. $(MAKE) wermit \
  7788. "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
  7789. -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOICP $(KFLAGS) -Mm -O" \
  7790. "LNKFLAGS= -Mm -s"
  7791. #Altos 986 with Xenix 3.0, as above, but interactive only, minimal size.
  7792. altosi:
  7793. @echo 'Making C-Kermit $(CKVER) for Altos x86 Xenix 3.0, local...'
  7794. $(MAKE) wermit \
  7795. "CFLAGS= -DATTSV -DA986 -DNODEBUG -DNOTLOG -DNOSCRIPT -DNODIAL \
  7796. -DNOCSETS -DNOANSI -DNOMSEND -DNOSPL -DNOCMDL -DNOFRILLS -DNOHELP \
  7797. -DNOSETKEY $(KFLAGS) -Mm -O" "LNKFLAGS= -Mm -s"
  7798. # Altos ACS68000 68000 System, UNIX System 3 Release 2, 512k memory.
  7799. # also needs getcwd() external function; see ckuins.txt file.
  7800. # also, sys/types.h needed modifying:
  7801. # #ifdef __SYS_TYPES_H__, #define ..., #endif
  7802. # also, ckuus2.c MUST be compiled NOOPT else symbol table is destroyed!
  7803. # Submission by Robert Weiner/Programming Plus, rweiner@progplus.com.
  7804. #
  7805. altos3:
  7806. @echo 'Making C-Kermit $(CKVER) for Altos ACS68k UNIX System III'
  7807. $(MAKE) ckuus2.$(EXT) "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
  7808. -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i"
  7809. $(MAKE) wermit \
  7810. "CFLAGS = -DATTSV -DNOCSETS -DNOSETKEY -DNOJC \
  7811. -DNODIAL -DDCLPOPEN -DNOSCRIPT -DNOHELP $(KFLAGS) -i -O" \
  7812. "LNKFLAGS = -i" "LIBS = getcwd.$(EXT)"
  7813. #MINIX - Original PC version with 64K+64K limit.
  7814. # Reportedly, the linker (asld) can run out of space while linking. The only
  7815. # way around this is to make a copy of libc.a from which all modules that are
  7816. # not used by Kermit are removed. If you have trouble compiling or running
  7817. # wart, "touch wart". If that doesn't help, "touch ckcpro.c".
  7818. # The version configured below has no interactive command parser.
  7819. # If you can build this version successfully, maybe there will be room for
  7820. # a minimal interactive command parser too; try replacing -DNOICP with
  7821. # -DNOSPL, plus every other -DNOxxx flag there is, except for -DNOICP
  7822. # (see ckccfg.txt).
  7823. minix:
  7824. @echo 'Making C-Kermit $(CKVER) for MINIX, no command parser...'
  7825. @echo 'TOTALLY UNTESTED!'
  7826. $(MAKE) wermit EXT=s \
  7827. "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
  7828. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V \
  7829. -DNOXMIT -DNOMSEND -DNOFRILLS -DNODIAL -DNOHELP -DNODEBUG -DNOTLOG \
  7830. -DNOSCRIPT -DNOCSETS -DNOICP -DNOSETKEY $(KFLAGS)" \
  7831. "LNKFLAGS= -i -T"
  7832. #MINIX - PC version with 64K+64K limit, new (as yet unreleased) ACK 2.0 beta C
  7833. #compiler, which outputs .o object files, rather than .s. But 'make' still
  7834. #expects .s files, so must be patched to use .o. Tested on Minix 1.5.10.
  7835. minix15:
  7836. @echo 'Making C-Kermit $(CKVER) for MINIX (new ACK 2.0 compiler),'
  7837. @echo 'no command parser... TOTALLY UNTESTED!'
  7838. $(MAKE) wermit \
  7839. "CFLAGS= -DV7 -DMINIX -i -D_MINIX -D_POSIX_SOURCE \
  7840. -DPID_T=pid_t -DUID_T=uid_t -DGID_T=gid_t -DSIG_V -DNODIAL \
  7841. -DNOHELP -DNODEBUG -DNOTLOG -DNOSCRIPT -DNOCSETS -DNOICP $(KFLAGS)" \
  7842. "LNKFLAGS= -i -T"
  7843. #MINIX3 - MINIX 3.0 (no VM) - May-Aug 2005 (not sure if this ever worked...)
  7844. minix3:
  7845. @echo 'Making C-Kermit $(CKVER) for MINIX3...'
  7846. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7847. "CFLAGS= -DPOSIX -DNOUUCP -DNOLEARN $(KFLAGS) -DMINIX2 \
  7848. -DMINIX3 -DNO_PARAM_H -DNOSYSLOG -DNOGETUSERSHELL \
  7849. -DNOINITGROUPS -DNOFTRUNCATE -DNOARROWKEYS -DDNOREALPATH \
  7850. -DTCPSOCKET -DNOTIMEZONE -DNOFTP -DNO_DNS_SRV -O"
  7851. #MINIX315 - MINIX 3 1.5 - January 2010
  7852. minix315:
  7853. @echo 'Making C-Kermit $(CKVER) for Minix 3 1.5...'
  7854. $(MAKE) wermit KTARGET=$${KTARGET:-$(@)} \
  7855. "CFLAGS= -DMINIX315 -DPOSIX -DNOUUCP -DNOJC -DNOLEARN $(KFLAGS) \
  7856. -DHAVE_OPENPTY -DNO_PARAM_H -DNOSYSLOG -DNOGETUSERSHELL \
  7857. -DSYSTIMEH -DNOINITGROUPS -DNOFTRUNCATE -DNOARROWKEYS -DNOREALPATH \
  7858. -DTCPSOCKET -DNOTIMEZONE -DNO_DNS_SRV -DNOFTP -O"
  7859. #PFU Compact A Series UNIX System V R3, SX/A TISP V10/L50 (Japan)
  7860. #Maybe the -i link option should be removed?
  7861. sxae50:
  7862. @echo 'Making C-Kermit $(CKVER) for PFU SX/A V10/L50...'
  7863. $(MAKE) xermit \
  7864. "CFLAGS= -DSVR3 -DDIRENT -DsxaE50 -DTCPSOCKET $(KFLAGS) -i -O" \
  7865. "LNKFLAGS= "
  7866. #Tektronix 6130, 4319, 4301, etc, with UTek OS, /usr/spool/uucp/LCK./...
  7867. #The models that support hardware flow control.
  7868. utek:
  7869. @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, hardware flow control'
  7870. $(MAKE) wermit \
  7871. "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
  7872. -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
  7873. -DTRMBUFL=2048 -DCK_DTRCTS $(KFLAGS)"
  7874. #Tektronix 4315, 4316, 4317 with UTek OS, /usr/spool/uucp/LCK./...
  7875. #The models that do not fully support hardware flow control.
  7876. uteknohwfc:
  7877. @echo 'Making C-Kermit $(CKVER) for 4.2BSD/UTek, no h/w flow control'
  7878. $(MAKE) wermit \
  7879. "CFLAGS= -O -DLCKDIR -DBSD4 -DTCPSOCKET \
  7880. -DUTEK -DDCLPOPEN -DLOCK_DIR=\\\"/usr/spool/uucp/LCK.\\\" \
  7881. -DTRMBUFL=2048 $(KFLAGS)"
  7882. #Tektronix XD88 with UTekV OS
  7883. utekvr3:
  7884. @echo 'Making C-Kermit $(CKVER) for Tektronix XD88 UTekV R3...'
  7885. $(MAKE) wermit \
  7886. "CFLAGS= -DSVR3 -DDIRENT -DHDBUUCP \
  7887. -DTCPSOCKET -DSYSUTIMEH -DCK_CURSES $(KFLAGS) -O" \
  7888. "LIBS= -lcurses" "LNKFLAGS= -s"
  7889. #Perkin-Elmer 3200 Xelos R02 or earlier
  7890. ccop1:
  7891. @echo 'Making C-Kermit $(CKVER) for Xelos & Public Domain Dirent calls'
  7892. @echo 'or System V R2 or earlier...'
  7893. $(MAKE) wermit \
  7894. "CFLAGS = -DATTSV -Dvoid=int -DDIRENT -DCK_CURSES \
  7895. $(KFLAGS) -O" "LNKFLAGS =" "LIBS= -lcurses -ltermlib"
  7896. #Encore, UMAX 4.3 (BSD) but without acucntrl program.
  7897. encore:
  7898. $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=$(KFLAGS)"
  7899. #Encore, as above, but with curses file transfer display included.
  7900. encorec:
  7901. $(MAKE) "MAKE=$(MAKE)" umax43 "KFLAGS=-DCK_CURSES $(KFLAGS)" \
  7902. "LIBS= -lcurses -ltermcap"
  7903. #Encore, UMAX 4.3 (BSD) but without acucntrl program.
  7904. umax43:
  7905. @echo Making C-Kermit $(CKVER) for Encore UMAX 4.3...
  7906. $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
  7907. "CFLAGS= -DBSD43 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
  7908. #Encore, UMAX 4.2 (BSD)
  7909. umax42:
  7910. @echo Making C-Kermit $(CKVER) for Encore UMAX 4.2...
  7911. $(MAKE) "MAKE=$(MAKE)" PARALLEL=4 xermit \
  7912. "CFLAGS= -DBSD4 -DENCORE -DTCPSOCKET $(KFLAGS) -O"
  7913. #Encore 88K UMAX 5.3 with TCP/IP support
  7914. encore88k:
  7915. @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP...'
  7916. $(MAKE) xermit \
  7917. "CFLAGS = -q ext=pcc -DSVR3 -DTCPSOCKET -DDIRENT \
  7918. -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
  7919. #Encore 88K UMAX 5.3 with TCP/IP support
  7920. encore88kgcc:
  7921. @echo 'Making C-Kermit $(CKVER) for Encore 88K UMAX V, TCP/IP, gcc...'
  7922. $(MAKE) xermit CC=gcc CC2=gcc \
  7923. "CFLAGS = -DSVR3 -DTCPSOCKET -DDIRENT \
  7924. -DNOGETID_PROTOS -DHDBUUCP $(KFLAGS) -O" "LNKFLAGS ="
  7925. #SONY NEWS, NEWS-OS 4.01C
  7926. sonynews:
  7927. @echo Making C-Kermit $(CKVER) for SONY NEWS-OS 4.01C...
  7928. $(MAKE) xermit "CFLAGS= -DBSD43 -DACUCNTRL -DTCPSOCKET -O"
  7929. #Run Lint on this mess for selected versions.
  7930. #These are pretty much obsolete since ANSI C / gcc.
  7931. lintsun:
  7932. @echo 'Running Lint on C-Kermit $(CKVER) sources for SunOS version...'
  7933. lint -x -DSUNOS4 -DDIRENT -DTCPSOCKET -DSAVEDUID \
  7934. ck[cu]*.c > ckuker.lint.sun
  7935. lintbsd:
  7936. @echo 'Running Lint on C-Kermit $(CKVER) sources for BSD 4.2 version..'
  7937. lint -x -DBSD4 -DTCPSOCKET ck[cu]*.c > ckuker.lint.bsd42
  7938. lints5:
  7939. @echo 'Running Lint on C-Kermit $(CKVER) sources for Sys V version...'
  7940. lint -x -DATTSV ck[cu]*.c > ckuker.lint.s5
  7941. #Who remembers TECO?
  7942. love:
  7943. @echo 'Not war?'