Git init
[external/mawk.git] / msdos / makefile.tcc
1
2 #  this is a makefile for mawk under DOS
3 #  with Borland make
4 #
5 #   make    --  mawk.exe
6
7 #  for a unix style command line add
8 #  -DREARV=your_reargv_file without the extension
9 #
10 #  e.g. -DREARGV=argvmks
11
12 #$Log: makefile.tcc,v $
13 # Revision 1.1  1995/08/20  17:44:37  mike
14 # minor fixes to msc and lower case makefile names
15 #
16 # Revision 1.3  1995/01/08  22:56:34  mike
17 # minor tweaks
18 #
19 # Revision 1.2  1995/01/07  21:16:03  mike
20 # remove small model
21 #
22
23 .SWAP
24
25 # user settable
26 # change here or override from command line e.g. -DCC=bcc
27
28 TARGET=mawk
29
30 !if ! $d(CC)
31 CC=tcc   # bcc or ?
32 !endif
33
34 !if ! $d(LIBDIR)
35 LIBDIR =c:\lib    # where are your Borland C libraries ?
36 !endif
37
38 !if !  $d(FLOATLIB)
39 FLOATLIB=emu   #  or  fp87 if you have fp87 hardware
40 !endif
41
42 !if ! $d(WILDCARD)
43 WILDCARD=$(LIBDIR)\wildargs.obj
44 !endif
45
46 # compiler flags
47 # -G optimize for speed
48 # -d merge duplicate strings
49 # -v- symbolic debugging off
50 # -O  optimize
51 # -ml  large model
52 CFLAGS = -ml -c -d -v- -O -G
53
54 LFLAGS = /c  #case sensitive linking
55
56 # how to delete a file
57 !if ! $d(RM)
58 RM = del    # rm
59 !endif
60
61 # how to rename a file
62 !if ! $d(RENAME)
63 RENAME = rename  # mv
64 !endif
65
66 !if ! $d(COPY)
67 COPY = copy  # cp
68 !endif
69
70 ##############################
71 # end of user settable
72 #
73
74 MODEL=l
75
76 CFLAGS=-m$(MODEL) $(CFLAGS)
77
78 !if  $d(REARGV)
79 CFLAGS=$(CFLAGS) -DHAVE_REARGV=1 
80 !endif
81
82 OBS = parse.obj \
83 array.obj \
84 bi_funct.obj \
85 bi_vars.obj \
86 cast.obj \
87 code.obj \
88 da.obj \
89 error.obj \
90 execute.obj \
91 fcall.obj \
92 field.obj \
93 files.obj \
94 fin.obj \
95 hash.obj \
96 init.obj \
97 jmp.obj \
98 kw.obj \
99 main.obj \
100 matherr.obj \
101 memory.obj \
102 missing.obj \
103 print.obj \
104 re_cmpl.obj \
105 scan.obj \
106 scancode.obj \
107 split.obj \
108 zmalloc.obj  \
109 version.obj  \
110 dosexec.obj
111
112 !if  $d(REARGV)
113 OBS = $(OBS) $(REARGV).obj
114 !endif
115
116 REXP_OBS = rexp.obj \
117 rexp0.obj \
118 rexp1.obj \
119 rexp2.obj \
120 rexp3.obj
121
122 LIBS = $(LIBDIR)\$(FLOATLIB) \
123 $(LIBDIR)\math$(MODEL) $(LIBDIR)\c$(MODEL)
124
125 $(TARGET).exe : $(OBS)  $(REXP_OBS)
126         tlink $(LFLAGS) @&&!
127         $(LIBDIR)\c0$(MODEL) $(WILDCARD) $(OBS) $(REXP_OBS)
128         $(TARGET),$(TARGET)
129         $(LIBS)
130 !
131
132 .c.obj :
133         $(CC) $(CFLAGS) {$*.c }
134
135
136 config.h : msdos\tcc.h
137         $(COPY) msdos\tcc.h config.h
138
139 dosexec.c : msdos\dosexec.c
140         $(COPY) msdos\dosexec.c dosexec.c
141
142 #scancode.c :  makescan.c  scan.h
143 #       $(CC) makescan.c
144 #       makescan.exe > scancode.c
145 #       $(RM) makescan.obj
146 #       $(RM) makescan.exe
147
148
149 ###################################################
150 # parse.c is provided 
151 # so you don't need to make it.
152 #
153 # But if you do:  here's how:
154 # To make it with bison under msdos
155 # YACC=bison -y
156 # parse.c : parse.y 
157 #       $(YACC) -d parse.y
158 #       $(RENAME) y_tab.h parse.h
159 #       $(RENAME) y_tab.c parse.c
160 ########################################
161
162
163 clean  :
164         $(RM)  *.obj
165
166 distclean :
167         $(RM) *.obj
168         $(RM) config.h dosexec.c
169         $(RM) mawk.exe
170
171 RFLAGS=-Irexp -DMAWK
172
173 rexp.obj  :  rexp\rexp.c  rexp\rexp.h
174         $(CC) $(CFLAGS) $(RFLAGS) rexp\rexp.c
175
176 rexp0.obj  :  rexp\rexp0.c  rexp\rexp.h
177         $(CC) $(CFLAGS) $(RFLAGS) rexp\rexp0.c
178
179 rexp1.obj  :  rexp\rexp1.c  rexp\rexp.h
180         $(CC) $(CFLAGS) $(RFLAGS) rexp\rexp1.c
181
182 rexp2.obj  :  rexp\rexp2.c  rexp\rexp.h
183         $(CC) $(CFLAGS) $(RFLAGS) rexp\rexp2.c
184
185 rexp3.obj  :  rexp\rexp3.c  rexp\rexp.h
186         $(CC) $(CFLAGS) $(RFLAGS) rexp\rexp3.c
187
188
189 #  dependencies of .objs on .h
190 array.obj : config.h field.h bi_vars.h mawk.h symtype.h nstd.h memory.h zmalloc.h types.h sizes.h
191 bi_funct.obj : config.h field.h bi_vars.h mawk.h init.h regexp.h symtype.h nstd.h repl.h memory.h bi_funct.h files.h zmalloc.h fin.h types.h sizes.h
192 bi_vars.obj : config.h field.h bi_vars.h mawk.h init.h symtype.h nstd.h memory.h zmalloc.h types.h sizes.h
193 cast.obj : config.h field.h mawk.h parse.h symtype.h nstd.h memory.h repl.h scan.h zmalloc.h types.h sizes.h
194 code.obj : config.h field.h code.h mawk.h init.h symtype.h nstd.h memory.h jmp.h zmalloc.h types.h sizes.h
195 da.obj : config.h field.h code.h mawk.h symtype.h nstd.h memory.h repl.h bi_funct.h zmalloc.h types.h sizes.h
196 error.obj : config.h bi_vars.h mawk.h parse.h vargs.h symtype.h nstd.h scan.h types.h sizes.h
197 execute.obj : config.h field.h bi_vars.h code.h mawk.h regexp.h symtype.h nstd.h memory.h repl.h bi_funct.h zmalloc.h types.h fin.h sizes.h
198 fcall.obj : config.h code.h mawk.h symtype.h nstd.h memory.h zmalloc.h types.h sizes.h
199 field.obj : config.h field.h bi_vars.h mawk.h init.h parse.h regexp.h symtype.h nstd.h memory.h repl.h scan.h zmalloc.h types.h sizes.h
200 files.obj : config.h mawk.h nstd.h memory.h files.h zmalloc.h types.h fin.h sizes.h
201 fin.obj : config.h field.h bi_vars.h mawk.h parse.h symtype.h nstd.h memory.h scan.h zmalloc.h types.h fin.h sizes.h
202 hash.obj : config.h mawk.h symtype.h nstd.h memory.h zmalloc.h types.h sizes.h
203 init.obj : config.h field.h bi_vars.h code.h mawk.h init.h symtype.h nstd.h memory.h zmalloc.h types.h sizes.h
204 jmp.obj : config.h code.h mawk.h init.h symtype.h nstd.h memory.h jmp.h zmalloc.h types.h sizes.h
205 kw.obj : config.h mawk.h init.h parse.h symtype.h nstd.h types.h sizes.h
206 main.obj : config.h field.h bi_vars.h code.h mawk.h init.h symtype.h nstd.h memory.h files.h zmalloc.h types.h fin.h sizes.h
207 makescan.obj : parse.h symtype.h scan.h
208 matherr.obj : config.h mawk.h nstd.h types.h sizes.h
209 memory.obj : config.h mawk.h nstd.h memory.h zmalloc.h types.h sizes.h
210 missing.obj : config.h nstd.h
211 parse.obj : config.h field.h bi_vars.h code.h mawk.h symtype.h nstd.h memory.h bi_funct.h files.h zmalloc.h jmp.h types.h sizes.h
212 print.obj : config.h field.h bi_vars.h mawk.h parse.h symtype.h nstd.h memory.h scan.h bi_funct.h files.h zmalloc.h types.h sizes.h
213 re_cmpl.obj : config.h mawk.h parse.h regexp.h symtype.h nstd.h memory.h repl.h scan.h zmalloc.h types.h sizes.h
214 scan.obj : config.h field.h code.h mawk.h init.h parse.h symtype.h nstd.h memory.h repl.h scan.h files.h zmalloc.h types.h fin.h sizes.h
215 split.obj : config.h field.h bi_vars.h mawk.h parse.h regexp.h symtype.h nstd.h memory.h scan.h bi_funct.h zmalloc.h types.h sizes.h
216 version.obj : config.h mawk.h patchlev.h nstd.h types.h sizes.h
217 zmalloc.obj : config.h mawk.h nstd.h zmalloc.h types.h sizes.h