Makefile revision 3f54fd611f536639ec30dd53c48e5ec1897cc7d9
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber/*
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber * command library -- commands small enough to be builtins
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber */
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber:PACKAGE: ast
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynLICENSE = since=1992,author=gsf+dgk
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynCCFLAGS = $(CC.SUFFIX.DEBUG:+$(CC.DEBUG)) $(CC.OPTIMIZE) $(CC.DLL)
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn/* 2009-04-15 ld.so experiment -- may become a default for all plugins */
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynCC.DLL.ORIGIN = $(CC.LD.ORIGIN:C,/.*,,)
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynLDFLAGS = $(CC.DLL.ORIGIN)
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynCP = $(STDCP|"cp")
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynCHMOD = $(STDCHMOD|"chmod")
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge Hallyn
d75462e4d663c58bde0787fdbe0ef3148e44cddeSerge HallynHOSTTYPE == "$(CC.HOSTTYPE)"
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Grabercmd 1.2 :LIBRARY: RELEASE cmdinit.c \
9be53773792fc9e8bd173edc3b7ac7e144875387Serge Hallyn cmd.h rev.h wc.h \
148a9d276cd256746515068ba0fef7b45a917dfeDwight Engen basename.c cat.c chgrp.c chmod.c chown.c cksum.c cmp.c \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner comm.c cp.c cut.c dirname.c date.c expr.c fds.c fmt.c fold.c \
9be53773792fc9e8bd173edc3b7ac7e144875387Serge Hallyn getconf.c head.c id.c join.c ln.c logname.c md5sum.c mkdir.c \
93dc5327aa0c2b13d619b8bedf893eea983d4d68Serge Hallyn mkfifo.c mktemp.c mv.c paste.c pathchk.c pids.c rev.c rm.c \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner rmdir.c stty.c sum.c sync.c tail.c tee.c tty.c uname.c uniq.c \
f2363e38d07db2ad4796b5580b95e3665ed34a88S.Çağlar Onur vmstate.c wc.c revlib.c wclib.c sumlib.o \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner fts_fix.c lib.c \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner -lfsg -lmd -lutil
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner
d659597e03725411c366c42dc02c64c0c35a167aStephen Ayottesumlib.o : +lsum
9fc7f8c015b627a978784779ed94b9ac99a9800bTycho Andersen $(AR) x $(*:O=1) $(<)
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner$(INCLUDEDIR) :INSTALLPROTO: cmd.h cmdext.h cmdlist.h
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner"win32*" :NOOPTIMIZE: id.c
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber
38683db41204cb221892beeb88d67a1df4a07287Christian Braunersrc = $(*$(*$(*cmd)):N=*.c:T=F)
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner
f2363e38d07db2ad4796b5580b95e3665ed34a88S.Çağlar Onurcmdext.h : (src) $$(-mam:+$$(src))
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner {
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner cat <<!
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner $("#")pragma prototyped
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner $("/")*
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber $(" ")* -lcmd extern function prototypes
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner $(" ")*/
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber $("#")include <shcmd.h>
b515981702133b9aaea1aff378493f054c14d46cDwight Engen
e29fe1dd21a58d1deddb3ca3bf3eaf260c525b10Tycho Andersen !
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber $(SED) \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner -e '/^b_[a-z_][a-z_0-9]*(/!d' \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner -e 's/^b_//' \
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner -e 's/(.*//' \
f2363e38d07db2ad4796b5580b95e3665ed34a88S.Çağlar Onur -e 's/.*/extern int b_&(int, char**, Shbltin_t*);/' \
f2363e38d07db2ad4796b5580b95e3665ed34a88S.Çağlar Onur $($(~:O=1)) |
fed29fad60a06389f10f91fe8c15c8ca0ff50aa1Tycho Andersen $(SORT) -u
735f2c6e504a541cbb2592a3f94858bf337a24ffTycho Andersen } > 1.$(tmp).h
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner if $(CMP) $(CMPFLAGS) 1.$(tmp).h $(<)
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner then $(RM) $(RMFLAGS) 1.$(tmp).h
38683db41204cb221892beeb88d67a1df4a07287Christian Brauner else $(MV) 1.$(tmp).h $(<)
4ba0d9af63fbf7e9acfa068a1fe36b3d287b9c6bStéphane Graber fi
4ba0d9af63fbf7e9acfa068a1fe36b3d287b9c6bStéphane Graber
9c83a661397456e1455d739bcadfa38f05ce2fe6Stéphane Grabercmdlist.h : (src) $$(-mam:+$$(src))
4ba0d9af63fbf7e9acfa068a1fe36b3d287b9c6bStéphane Graber {
4ba0d9af63fbf7e9acfa068a1fe36b3d287b9c6bStéphane Graber cat <<!
4ba0d9af63fbf7e9acfa068a1fe36b3d287b9c6bStéphane Graber $("#")pragma prototyped
72d0e1cb2facaa4b8ba2f15e311d6bb9491badb7Stéphane Graber $("/")*
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber $(" ")* -lcmd function list -- define your own CMDLIST()
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber $(" ")*/
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber !
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber $(SED) \
684f79a55a6909ac3669eb6126796853f85b28ebStéphane Graber -e '/^b_[a-z_][a-z_0-9]*(/!d' \
a9a0ed90dd1cdadd412576a45af16419efc0e939S.Çağlar Onur -e 's/^b_//' \
a9a0ed90dd1cdadd412576a45af16419efc0e939S.Çağlar Onur -e 's/(.*//' \
c868b261b2e08f29c5e6c5ede2e6a2c3e335ee4dS.Çağlar Onur -e 's/.*/CMDLIST(&)/' \
c868b261b2e08f29c5e6c5ede2e6a2c3e335ee4dS.Çağlar Onur $($(~):T=F) |
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber $(SORT) -u
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber } > 1.$(tmp).h
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber if $(CMP) $(CMPFLAGS) 1.$(tmp).h $(<)
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber then $(RM) $(RMFLAGS) 1.$(tmp).h
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber else $(MV) 1.$(tmp).h $(<)
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber fi
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graberif CC.HOSTTYPE == "sun4"
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber pathsetlink == symlink /* ld.so workaround */
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graberend
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graberignore dlldefs.h /* prevents bootstrap double build */
5f7eba0b1c5b344c7f78ed5dce8b338f139771d6Stéphane Graber