source: trunk/ash/Makefile.kmk@ 2477

Last change on this file since 2477 was 2475, checked in by bird, 20 years ago

Initial config.

File size: 1.7 KB
Line 
1
2PROGRAMS = ash
3
4ash_TEMPLATE = bin
5ash_DEFS = lint SHELL SMALL
6ash_DEFS.os2 = EXEC_HASH_BANG_SCRIPT PC_OS2_LIBPATHS PC_PATH_SEP PC_DRIVE_LETTERS PC_EXE_EXTS
7ash_INCS = $(PATH_TARGET) . # (the last is because of error.h)
8ash_SOURCES = \
9 alias.c \
10 cd.c \
11 error.c \
12 eval.c \
13 exec.c \
14 expand.c \
15 histedit.c \
16 input.c \
17 jobs.c \
18 mail.c \
19 main.c \
20 memalloc.c \
21 miscbltin.c \
22 mystring.c \
23 options.c \
24 output.c \
25 parser.c \
26 redir.c \
27 show.c \
28 syntax.c \
29 trap.c \
30 var.c \
31 bltin/echo.c \
32 bltin/kill.c \
33 bltin/test.c \
34 $(PATH_TARGET)/arith.c \
35 $(PATH_TARGET)/arith_lex.c \
36 $(PATH_TARGET)/builtins.c \
37 $(PATH_TARGET)/init.c \
38 $(PATH_TARGET)/nodes.c
39ash_DEPS = \
40 $(PATH_TARGET)/arith.h \
41 $(PATH_TARGET)/builtins.h \
42 $(PATH_TARGET)/nodes.h \
43 $(PATH_TARGET)/token.h
44
45
46LFLAGS= -L -8
47YFLAGS= -l -d
48
49DEPTH = ..
50include $(PATH_KBUILD)/rules.kmk
51
52$(PATH_TARGET):
53 $(MKDIR) -p $@
54
55$(PATH_TARGET)/arith.h $(PATH_TARGET)/arith.c: arith.y | $(PATH_TARGET)
56 yacc -ld $^
57 $(MV) -f y.tab.c $(PATH_TARGET)/arith.c
58 $(MV) -f y.tab.h $(PATH_TARGET)/arith.h
59
60$(PATH_TARGET)/arith_lex.c: arith_lex.l | $(PATH_TARGET)
61 flex -8 -o$@ $^ # 8-bit lex scanner for arithmetic
62
63$(PATH_TARGET)/builtins.h $(PATH_TARGET)/builtins.c: mkbuiltins shell.h builtins.def | $(PATH_TARGET)
64 $+ $(dir $@)
65 [ -f $(PATH_TARGET)/builtins.h ]
66
67$(PATH_TARGET)/nodes.h $(PATH_TARGET)/nodes.c: mknodes.sh nodetypes nodes.c.pat | $(PATH_TARGET)
68 $+ $(dir $@)
69 [ -f $(dir $@)/nodes.h ]
70
71$(PATH_TARGET)/token.h: mktokens | $(PATH_TARGET)
72 $+
73 $(MV) token.h $@
74
75$(PATH_TARGET)/init.c: mkinit.sh $(filter-out $(PATH_TARGET)/%,$(ash_SOURCES)) | $(PATH_TARGET)
76 $+
77 $(MV) init.c $@
78
79
80
81
Note: See TracBrowser for help on using the repository browser.