| [9] | 1 | # Makefile for ash. | 
|---|
|  | 2 |  | 
|---|
|  | 3 | SRCS=   builtins.c cd.c dirent.c error.c eval.c exec.c expand.c input.c \ | 
|---|
|  | 4 | jobs.c mail.c main.c memalloc.c miscbltin.c mystring.c nodes.c \ | 
|---|
|  | 5 | options.c parser.c redir.c show.c signames.c syntax.c trap.c \ | 
|---|
|  | 6 | output.c var.c | 
|---|
|  | 7 |  | 
|---|
|  | 8 | OBJS=   builtins.o cd.o dirent.o error.o eval.o exec.o expand.o input.o \ | 
|---|
|  | 9 | jobs.o mail.o main.o memalloc.o miscbltin.o mystring.o nodes.o \ | 
|---|
|  | 10 | options.o parser.o redir.o show.o signames.o syntax.o trap.o \ | 
|---|
|  | 11 | output.o var.o init.o \ | 
|---|
|  | 12 | bltin/echo.o bltin/expr.o bltin/operators.o bltin/regexp.o | 
|---|
|  | 13 |  | 
|---|
|  | 14 | # | 
|---|
|  | 15 | # Set READLINE in shell.h and add -ledit to LIBS if you want to use the | 
|---|
|  | 16 | # editline package by Simmule Turner and Rich Salz.  (The big, bloated | 
|---|
|  | 17 | # and GPL contaminated FSF readline should work too.) | 
|---|
|  | 18 | # | 
|---|
|  | 19 | CPPFLAGS= -DSHELL -I. -D_MINIX -D_POSIX_SOURCE | 
|---|
|  | 20 | CFLAGS= -wo -i $(CPPFLAGS) | 
|---|
|  | 21 | LIBS=   -ledit | 
|---|
|  | 22 | CC = exec cc | 
|---|
|  | 23 |  | 
|---|
|  | 24 | CLEANFILES= $(OBJS) \ | 
|---|
|  | 25 | builtins.c builtins.h init.c mkinit mknodes mksignames mksyntax \ | 
|---|
|  | 26 | nodes.c nodes.h signames.c signames.h syntax.c syntax.h token.def \ | 
|---|
|  | 27 | bltin/operators.h bltin/operators.c | 
|---|
|  | 28 |  | 
|---|
|  | 29 | all:    sh | 
|---|
|  | 30 |  | 
|---|
|  | 31 | sh:     $(OBJS) | 
|---|
|  | 32 | $(CC) $(CFLAGS) -o sh $(OBJS) $(LIBS) | 
|---|
|  | 33 | install -S 100k sh | 
|---|
|  | 34 |  | 
|---|
|  | 35 | install:        /usr/bin/ash /usr/bin/sh /bin/sh /bin/bigsh | 
|---|
|  | 36 |  | 
|---|
|  | 37 | /usr/bin/ash:   sh | 
|---|
|  | 38 | install -cs -o bin $? $@ | 
|---|
|  | 39 |  | 
|---|
|  | 40 | /usr/bin/sh:    /usr/bin/ash | 
|---|
|  | 41 | install -l $? $@ | 
|---|
|  | 42 |  | 
|---|
|  | 43 | /bin/sh:        /usr/bin/ash | 
|---|
|  | 44 | install -lcs $? $@ | 
|---|
|  | 45 |  | 
|---|
|  | 46 | /bin/bigsh:     /usr/bin/ash | 
|---|
|  | 47 | install -S 1500000 -lcs $? $@ | 
|---|
|  | 48 |  | 
|---|
|  | 49 | clean: | 
|---|
|  | 50 | rm -f $(CLEANFILES) sh core | 
|---|
|  | 51 |  | 
|---|
|  | 52 | parser.o: token.def | 
|---|
|  | 53 |  | 
|---|
|  | 54 | token.def: mktokens | 
|---|
|  | 55 | sh mktokens | 
|---|
|  | 56 |  | 
|---|
|  | 57 | builtins.c builtins.h: builtins.table shell.h | 
|---|
|  | 58 | sh mkbuiltins shell.h builtins.table | 
|---|
|  | 59 |  | 
|---|
|  | 60 | init.o: mkinit $(SRCS) | 
|---|
|  | 61 | ./mkinit '$(CC) -c $(CFLAGS) init.c' $(SRCS) | 
|---|
|  | 62 |  | 
|---|
|  | 63 | mkinit: mkinit.c | 
|---|
|  | 64 | $(CC) $(CFLAGS) mkinit.c -o $@ | 
|---|
|  | 65 |  | 
|---|
|  | 66 | nodes.c nodes.h: mknodes nodetypes nodes.c.pat | 
|---|
|  | 67 | ./mknodes nodetypes nodes.c.pat | 
|---|
|  | 68 |  | 
|---|
|  | 69 | mknodes: mknodes.c | 
|---|
|  | 70 | $(CC) $(CFLAGS) mknodes.c -o $@ | 
|---|
|  | 71 |  | 
|---|
|  | 72 | signames.c signames.h: mksignames | 
|---|
|  | 73 | ./mksignames | 
|---|
|  | 74 |  | 
|---|
|  | 75 | mksignames: mksignames.c | 
|---|
|  | 76 | $(CC) $(CFLAGS) mksignames.c -o $@ | 
|---|
|  | 77 |  | 
|---|
|  | 78 | syntax.c syntax.h: mksyntax | 
|---|
|  | 79 | ./mksyntax | 
|---|
|  | 80 |  | 
|---|
|  | 81 | mksyntax: mksyntax.c parser.h | 
|---|
|  | 82 | $(CC) $(CFLAGS) mksyntax.c -o $@ | 
|---|
|  | 83 |  | 
|---|
|  | 84 | bltin/operators.h:      bltin/mkexpr bltin/binary_op bltin/unary_op | 
|---|
|  | 85 | cd bltin && sh mkexpr | 
|---|
|  | 86 |  | 
|---|
|  | 87 | bltin/echo.o:   bltin/echo.c | 
|---|
|  | 88 | cd bltin && $(CC) -I.. $(CFLAGS) -c echo.c | 
|---|
|  | 89 |  | 
|---|
|  | 90 | bltin/expr.o:   bltin/expr.c | 
|---|
|  | 91 | cd bltin && $(CC) -I.. $(CFLAGS) -c expr.c | 
|---|
|  | 92 |  | 
|---|
|  | 93 | bltin/operators.o:      bltin/operators.c | 
|---|
|  | 94 | cd bltin && $(CC) -I.. $(CFLAGS) -c operators.c | 
|---|
|  | 95 |  | 
|---|
|  | 96 | bltin/regexp.o: bltin/regexp.c | 
|---|
|  | 97 | cd bltin && $(CC) -I.. $(CFLAGS) -c regexp.c | 
|---|
|  | 98 |  | 
|---|
|  | 99 | # Dependencies you say?  This will have to do. | 
|---|
|  | 100 | $(OBJS): error.h eval.h exec.h expand.h init.h input.h \ | 
|---|
|  | 101 | jobs.h machdep.h mail.h main.h memalloc.h mystring.h options.h \ | 
|---|
|  | 102 | output.h parser.h redir.h shell.h trap.h var.h \ | 
|---|
|  | 103 | builtins.h nodes.h signames.h syntax.h | 
|---|
|  | 104 |  | 
|---|
|  | 105 | bltin/expr.o bltin/operators.o: bltin/operators.h | 
|---|