12a456239SPeter Wemm# $FreeBSD$ 24b88c807SRodney W. Grimes# @(#)Makefile 8.1 (Berkeley) 5/31/93 34b88c807SRodney W. Grimes# 44b88c807SRodney W. Grimes# C Shell with process control; VM/UNIX VAX Makefile 54b88c807SRodney W. Grimes# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria 64b88c807SRodney W. Grimes# 74b88c807SRodney W. Grimes# To profile, put -DPROF in DEFS and -pg in CFLAGS, and recompile. 84b88c807SRodney W. Grimes 9c6063d0dSWarner Losh.include <src.opts.mk> 10e1fe3dbaSRuslan Ermilov 11b4d1ec6cSBrad DavisCONFGROUPS= ETC ROOT 12b26c7f7fSBrad DavisETC= csh.cshrc csh.login csh.logout 13b4d1ec6cSBrad DavisROOT= dot.login 14b4d1ec6cSBrad DavisROOTDIR= /root 15b4d1ec6cSBrad DavisROOTNAME_dot.login= .login 16ac2875faSGlen BarberPACKAGE=runtime 17caf42d81SEnji CooperTCSHDIR= ${SRCTOP}/contrib/tcsh 18325c70b7SDavid E. O'Brien.PATH: ${TCSHDIR} 19325c70b7SDavid E. O'Brien 204b88c807SRodney W. GrimesPROG= csh 216d1b4a47SGordon Tetlow.if defined(RESCUE) 226d1b4a47SGordon TetlowDFLAGS= -D_PATH_TCSHELL='"/rescue/${PROG}"' 236d1b4a47SGordon Tetlow.else 24bdc45483SAndrey A. ChernovDFLAGS= -D_PATH_TCSHELL='"/bin/${PROG}"' 256d1b4a47SGordon Tetlow.endif 26a8e642f5SDavid E. O'BrienCFLAGS+= -I. -I${.CURDIR} -I${TCSHDIR} ${DFLAGS} 279ccc37e3SMark PeekWARNS?= 1 28325c70b7SDavid E. O'BrienSRCS= sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \ 29325c70b7SDavid E. O'Brien sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \ 30325c70b7SDavid E. O'Brien sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \ 31e754e5f3SAndrey A. Chernov sh.set.c sh.time.c sh.char.h sh.dir.h sh.proc.h sh.h 32325c70b7SDavid E. O'BrienSRCS+= sh.decls.h glob.c glob.h mi.termios.c mi.wait.h mi.varargs.h 33325c70b7SDavid E. O'BrienSRCS+= tw.decls.h tw.h tw.help.c tw.init.c tw.parse.c tw.spell.c \ 34325c70b7SDavid E. O'Brien tw.comp.c tw.color.c 35325c70b7SDavid E. O'BrienSRCS+= ed.chared.c ed.decls.h ed.defns.c ed.h ed.init.c ed.inputl.c \ 36325c70b7SDavid E. O'Brien ed.refresh.c ed.screen.c ed.xmap.c ed.term.c ed.term.h 37325c70b7SDavid E. O'BrienSRCS+= tc.alloc.c tc.bind.c tc.const.c tc.decls.h tc.disc.c \ 38099f08ceSMark Peek tc.func.c tc.nls.c tc.os.c tc.os.h tc.printf.c tc.prompt.c \ 39325c70b7SDavid E. O'Brien tc.sched.c tc.sig.c tc.sig.h tc.str.c sh.types.h tc.vers.c tc.wait.h \ 40325c70b7SDavid E. O'Brien tc.who.c tc.h 4119d2e3deSDmitry ChaginSRCS+= dotlock.c dotlock.h 42e754e5f3SAndrey A. ChernovGENHDRS= ed.defns.h sh.err.h tc.const.h tc.defs.c 43d94edef5SBruce EvansSRCS+= ${GENHDRS} 444b88c807SRodney W. Grimes 4554e00925SJoseph KoshyMLINKS= csh.1 tcsh.1 46c644db6aSSheldon Hearn# MLINKS for Shell built in commands for which there are no userland 47c644db6aSSheldon Hearn# utilities of the same name are handled with the associated manpage, 48c644db6aSSheldon Hearn# builtin.1 in share/man/man1/. 49c644db6aSSheldon Hearn 5012cd1730SBaptiste DaroussinLIBADD= termcapw crypt 514b88c807SRodney W. Grimes 521da0bddbSBrad DavisLINKS= ${BINDIR}/csh ${BINDIR}/tcsh 5377f2a34fSDavid E. O'Brien 54e754e5f3SAndrey A. ChernovCLEANFILES= ${GENHDRS} gethost csh.1 55d94edef5SBruce Evans 56e1fe3dbaSRuslan Ermilov.if ${MK_EXAMPLES} != "no" 5790e0035cSMark PeekFILESDIR= ${SHAREDIR}/examples/tcsh 5890e0035cSMark PeekFILES= complete.tcsh csh-mode.el 59670f8414SPoul-Henning Kamp.endif 6090e0035cSMark Peek 61e4b59b10SHajimu UMEMOTOCATALOGS= et:et_EE.UTF-8 \ 62e4b59b10SHajimu UMEMOTO finnish:fi_FI.UTF-8 \ 63e4b59b10SHajimu UMEMOTO french:fr_FR.UTF-8 \ 64e4b59b10SHajimu UMEMOTO german:de_DE.UTF-8 \ 65e4b59b10SHajimu UMEMOTO greek:el_GR.UTF-8 \ 66e4b59b10SHajimu UMEMOTO italian:it_IT.UTF-8 \ 67e4b59b10SHajimu UMEMOTO ja:ja_JP.UTF-8 \ 68e4b59b10SHajimu UMEMOTO russian:ru_RU.UTF-8 \ 69e4b59b10SHajimu UMEMOTO spanish:es_ES.UTF-8 \ 70e4b59b10SHajimu UMEMOTO ukrainian:uk_UA.UTF-8 718479adc1SRuslan Ermilov 72f408f604SBryan DreweryNLSLINKS_de_DE.UTF-8 = de_AT.UTF-8 de_CH.UTF-8 73e4b59b10SHajimu UMEMOTONLSLINKS_fr_FR.UTF-8 = fr_BE.UTF-8 fr_CA.UTF-8 fr_CH.UTF-8 74e4b59b10SHajimu UMEMOTONLSLINKS_it_IT.UTF-8 = it_CH.UTF-8 758479adc1SRuslan Ermilov 76e1fe3dbaSRuslan Ermilov.if ${MK_NLS_CATALOGS} == "no" || defined(RESCUE) 77f45c0422SHajimu UMEMOTOCFLAGS+= -DNO_NLS_CATALOGS 78f45c0422SHajimu UMEMOTO.else 79f45c0422SHajimu UMEMOTOCFLAGS+= -DHAVE_ICONV 8035bb448cSHajimu UMEMOTO.if ${MK_ICONV} != "no" 81e4b59b10SHajimu UMEMOTONLSLINKS_de_DE.UTF-8 += de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \ 82e4b59b10SHajimu UMEMOTO de_CH.ISO8859-15 de_DE.ISO8859-1 de_DE.ISO8859-15 83e4b59b10SHajimu UMEMOTONLSLINKS_el_GR.UTF-8 = el_GR.ISO8859-7 84e4b59b10SHajimu UMEMOTONLSLINKS_es_ES.UTF-8 = es_ES.ISO8859-1 es_ES.ISO8859-15 85e4b59b10SHajimu UMEMOTONLSLINKS_et_EE.UTF-8 = et_EE.ISO8859-15 86e4b59b10SHajimu UMEMOTONLSLINKS_fi_FI.UTF-8 = fi_FI.ISO8859-1 fi_FI.ISO8859-15 87e4b59b10SHajimu UMEMOTONLSLINKS_fr_FR.UTF-8 += fr_BE.ISO8859-1 fr_BE.ISO8859-15 \ 88e4b59b10SHajimu UMEMOTO fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 \ 89e4b59b10SHajimu UMEMOTO fr_CH.ISO8859-15 fr_FR.ISO8859-1 fr_FR.ISO8859-15 90e4b59b10SHajimu UMEMOTONLSLINKS_it_IT.UTF-8 += it_CH.ISO8859-1 it_CH.ISO8859-15 it_IT.ISO8859-1 \ 91e4b59b10SHajimu UMEMOTO it_IT.ISO8859-15 92e4b59b10SHajimu UMEMOTONLSLINKS_ja_JP.UTF-8 = ja_JP.SJIS ja_JP.eucJP 93e4b59b10SHajimu UMEMOTONLSLINKS_ru_RU.UTF-8 = ru_RU.CP1251 ru_RU.CP866 ru_RU.ISO8859-5 ru_RU.KOI8-R 94e4b59b10SHajimu UMEMOTONLSLINKS_uk_UA.UTF-8 = uk_UA.ISO8859-5 uk_UA.KOI8-U 9535bb448cSHajimu UMEMOTO.else 9635bb448cSHajimu UMEMOTO# Above links can be installed from ports/shells/tcsh_nls 9735bb448cSHajimu UMEMOTO 9835bb448cSHajimu UMEMOTOGENHDRS+= iconv.h 99f45c0422SHajimu UMEMOTOSRCS+= iconv_stub.c 10035bb448cSHajimu UMEMOTO 10135bb448cSHajimu UMEMOTOiconv.h: ${.CURDIR}/iconv_stub.h 1027a37b5fcSWill Andrews ${CP} ${.CURDIR}/iconv_stub.h ${.TARGET} 10335bb448cSHajimu UMEMOTO.endif 104f45c0422SHajimu UMEMOTO.endif 105f45c0422SHajimu UMEMOTO 1068479adc1SRuslan ErmilovNLSNAME= tcsh 1078479adc1SRuslan Ermilov 1088479adc1SRuslan Ermilov.for catalog in ${CATALOGS} 1098479adc1SRuslan ErmilovNLS+= ${catalog:C/.*://} 1108479adc1SRuslan ErmilovNLSSRCDIR_${catalog:C/.*://}= ${TCSHDIR}/nls/${catalog:C/:.*//} 111f45c0422SHajimu UMEMOTONLSSRCFILES_${catalog:C/.*://}!= cd ${NLSSRCDIR_${catalog:C/.*://}}; echo charset set[0-9]* 1128479adc1SRuslan Ermilov.endfor 1138479adc1SRuslan Ermilov 114325c70b7SDavid E. O'Briencsh.1: tcsh.man 1153a624f5eSJun Kuriyama cat ${.ALLSRC} > ${.TARGET} 1164b88c807SRodney W. Grimes 117bdc45483SAndrey A. Chernovbuild-tools: gethost 118bdc45483SAndrey A. Chernov 119d1dd034dSBryan Drewerygethost: gethost.c sh.err.h tc.const.h sh.h ${BUILD_TOOLS_META} 120e754e5f3SAndrey A. Chernov @rm -f ${.TARGET} 12196a0acc4SBryan Drewery ${CC:N${CCACHE_BIN}} -o gethost ${LDFLAGS} ${CFLAGS:C/-DHAVE_ICONV//} \ 12235bb448cSHajimu UMEMOTO ${TCSHDIR}/gethost.c 123e754e5f3SAndrey A. Chernov 1249ccc37e3SMark Peektc.defs.c: gethost ${TCSHDIR}/host.defs 125e754e5f3SAndrey A. Chernov @rm -f ${.TARGET} 126e754e5f3SAndrey A. Chernov @echo "/* Do not edit this file, make creates it */" > ${.TARGET} 12729df9f6bSBryan Drewery ${BTOOLSPATH:U.}/gethost ${TCSHDIR}/host.defs >> ${.TARGET} 128e754e5f3SAndrey A. Chernov 129325c70b7SDavid E. O'Briened.defns.h: ed.defns.c 130380fdd7dSSteve Price @rm -f ${.TARGET} 131380fdd7dSSteve Price @echo '/* Do not edit this file, make creates it. */' > ${.TARGET} 132325c70b7SDavid E. O'Brien @echo '#ifndef _h_ed_defns' >> ${.TARGET} 133325c70b7SDavid E. O'Brien @echo '#define _h_ed_defns' >> ${.TARGET} 134325c70b7SDavid E. O'Brien grep '[FV]_' ${TCSHDIR}/ed.defns.c | grep '^#define' >> ${.TARGET} 135325c70b7SDavid E. O'Brien @echo '#endif /* _h_ed_defns */' >> ${.TARGET} 136325c70b7SDavid E. O'Brien 137325c70b7SDavid E. O'Briensh.err.h: sh.err.c 138325c70b7SDavid E. O'Brien @rm -f ${.TARGET} 139325c70b7SDavid E. O'Brien @echo '/* Do not edit this file, make creates it. */' > ${.TARGET} 140325c70b7SDavid E. O'Brien @echo '#ifndef _h_sh_err' >> ${.TARGET} 141325c70b7SDavid E. O'Brien @echo '#define _h_sh_err' >> ${.TARGET} 142e754e5f3SAndrey A. Chernov grep 'ERR_' ${.ALLSRC} | grep '^#define' >> ${.TARGET} 143325c70b7SDavid E. O'Brien @echo '#endif /* _h_sh_err */' >> ${.TARGET} 1444b88c807SRodney W. Grimes 14545e1479fSBryan Drewerytc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h ${BUILD_TOOLS_META} 146242fa23cSSteve Price @rm -f ${.TARGET} 147242fa23cSSteve Price @echo '/* Do not edit this file, make creates it. */' > ${.TARGET} 148325c70b7SDavid E. O'Brien @echo '#ifndef _h_tc_const' >> ${.TARGET} 149325c70b7SDavid E. O'Brien @echo '#define _h_tc_const' >> ${.TARGET} 15046a0387aSBryan Drewery ${CC:N${CCACHE_BIN}} -E ${CFLAGS:C/-DHAVE_ICONV//} ${.ALLSRC} -D_h_tc_const | \ 15135bb448cSHajimu UMEMOTO grep 'Char STR' | \ 1524b88c807SRodney W. Grimes sed -e 's/Char \([a-zA-Z0-9_]*\)\(.*\)/extern Char \1[];/' | \ 153242fa23cSSteve Price sort >> ${.TARGET} 154325c70b7SDavid E. O'Brien @echo '#endif /* _h_tc_const */' >> ${.TARGET} 1554b88c807SRodney W. Grimes 1564b88c807SRodney W. Grimes.include <bsd.prog.mk> 157