1/* 2 * command library -- commands small enough to be builtins 3 */ 4 5:PACKAGE: ast 6 7LICENSE = since=1992,author=gsf+dgk 8 9CCFLAGS = $(CC.SUFFIX.DEBUG:+$(CC.DEBUG)) $(CC.OPTIMIZE) $(CC.DLL) 10 11/* 2009-04-15 ld.so experiment -- may become a default for all plugins */ 12CC.DLL.ORIGIN = $(CC.LD.ORIGIN:C,/.*,,) 13LDFLAGS = $(CC.DLL.ORIGIN) 14 15CP = $(STDCP|"cp") 16CHMOD = $(STDCHMOD|"chmod") 17 18HOSTTYPE == "$(CC.HOSTTYPE)" 19 20cmd 1.2 :LIBRARY: RELEASE cmdinit.c \ 21 cmd.h rev.h wc.h \ 22 basename.c cat.c chgrp.c chmod.c chown.c cksum.c cmp.c \ 23 comm.c cp.c cut.c dirname.c date.c expr.c fds.c fmt.c fold.c \ 24 getconf.c head.c id.c join.c ln.c logname.c md5sum.c mkdir.c \ 25 mkfifo.c mktemp.c mv.c paste.c pathchk.c pids.c rev.c rm.c \ 26 rmdir.c stty.c sum.c sync.c tail.c tee.c tty.c uname.c uniq.c \ 27 vmstate.c wc.c revlib.c wclib.c sumlib.o \ 28 fts_fix.c lib.c \ 29 -lfsg -lmd -lutil 30 31sumlib.o : +lsum 32 $(AR) x $(*:O=1) $(<) 33 34$(INCLUDEDIR) :INSTALLPROTO: cmd.h cmdext.h cmdlist.h 35 36"win32*" :NOOPTIMIZE: id.c 37 38src = $(*$(*$(*cmd)):N=*.c:T=F) 39 40cmdext.h : (src) $$(-mam:+$$(src)) 41 { 42 cat <<! 43 $("#")pragma prototyped 44 $("/")* 45 $(" ")* -lcmd extern function prototypes 46 $(" ")*/ 47 48 $("#")include <shcmd.h> 49 50 ! 51 $(SED) \ 52 -e '/^b_[a-z_][a-z_0-9]*(/!d' \ 53 -e 's/^b_//' \ 54 -e 's/(.*//' \ 55 -e 's/.*/extern int b_&(int, char**, Shbltin_t*);/' \ 56 $($(~:O=1)) | 57 $(SORT) -u 58 } > 1.$(tmp).h 59 if $(CMP) $(CMPFLAGS) 1.$(tmp).h $(<) 60 then $(RM) $(RMFLAGS) 1.$(tmp).h 61 else $(MV) 1.$(tmp).h $(<) 62 fi 63 64cmdlist.h : (src) $$(-mam:+$$(src)) 65 { 66 cat <<! 67 $("#")pragma prototyped 68 $("/")* 69 $(" ")* -lcmd function list -- define your own CMDLIST() 70 $(" ")*/ 71 72 ! 73 $(SED) \ 74 -e '/^b_[a-z_][a-z_0-9]*(/!d' \ 75 -e 's/^b_//' \ 76 -e 's/(.*//' \ 77 -e 's/.*/CMDLIST(&)/' \ 78 $($(~):T=F) | 79 $(SORT) -u 80 } > 1.$(tmp).h 81 if $(CMP) $(CMPFLAGS) 1.$(tmp).h $(<) 82 then $(RM) $(RMFLAGS) 1.$(tmp).h 83 else $(MV) 1.$(tmp).h $(<) 84 fi 85 86if CC.HOSTTYPE == "sun4" 87 pathsetlink == symlink /* ld.so workaround */ 88end 89 90ignore dlldefs.h /* prevents bootstrap double build */ 91