1# Makefile for nmake from Windows and gcc from MinGW. Commands executed by: cmd.exe
2# To compile use a Windows console and call:
3#   nmake /f mk_nmake.mak depend
4#   nmake /f mk_nmake.mak
5# When your make utility is mingw32-make, you should use mk_mingw.mak instead.
6# When you are using the MSYS console from MinGW, you should use mk_msys.mak instead.
7
8# CFLAGS = -O2 -fomit-frame-pointer -funroll-loops -Wall
9# CFLAGS = -O2 -fomit-frame-pointer -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith
10CFLAGS = -O2 -g -ffunction-sections -fdata-sections $(INCLUDE_OPTIONS) $(CC_OPT_LINK_TIME_OPTIMIZATION) -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith
11# CFLAGS = -O2 -g -ffunction-sections -fdata-sections $(INCLUDE_OPTIONS) $(CC_OPT_LINK_TIME_OPTIMIZATION) -Wall -Winline -Wconversion -Wshadow -Wpointer-arith
12# CFLAGS = -O2 -g -pg -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith
13# CFLAGS = -O2 -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith
14# CFLAGS = -O2 -pg -Wall -Wstrict-prototypes -Winline -Wconversion -Wshadow -Wpointer-arith
15# CFLAGS = -O2 -funroll-loops -Wall -pg
16LDFLAGS = -Wl,--gc-sections,--stack,8388608
17# LDFLAGS = -Wl,--gc-sections,--stack,8388608,--subsystem,windows
18# LDFLAGS = -pg
19# LDFLAGS = -pg -lc_p
20SYSTEM_LIBS = -lws2_32
21# SYSTEM_LIBS = -lm -lws2_32 -lgmp
22# SYSTEM_BIGINT_LIBS is defined in the file "macros". The program chkccomp.c writes it to "macros" when doing "make depend".
23SYSTEM_CONSOLE_LIBS =
24# SYSTEM_DATABASE_LIBS is defined in the file "macros". The program chkccomp.c writes it to "macros" when doing "make depend".
25SYSTEM_DRAW_LIBS = -lgdi32
26SYSTEM_MATH_LIBS = -lm
27ALL_SYSTEM_LIBS = $(SYSTEM_LIBS) $(SYSTEM_BIGINT_LIBS) $(SYSTEM_CONSOLE_LIBS) $(SYSTEM_DATABASE_LIBS) $(SYSTEM_DRAW_LIBS) $(SYSTEM_MATH_LIBS)
28SEED7_LIB = seed7_05.a
29DRAW_LIB = s7_draw.a
30CONSOLE_LIB = s7_con.a
31DATABASE_LIB = s7_db.a
32COMP_DATA_LIB = s7_data.a
33COMPILER_LIB = s7_comp.a
34ALL_S7_LIBS = ..\bin\$(COMPILER_LIB) ..\bin\$(COMP_DATA_LIB) ..\bin\$(DRAW_LIB) ..\bin\$(CONSOLE_LIB) ..\bin\$(DATABASE_LIB) ..\bin\$(SEED7_LIB)
35# CC = g++
36CC = gcc
37AR = ar
38
39!if exist(macros)
40!include macros
41!endif
42
43MOBJ = s7.o
44POBJ = runerr.o option.o primitiv.o
45LOBJ = actlib.o arrlib.o biglib.o binlib.o blnlib.o bstlib.o chrlib.o cmdlib.o conlib.o dcllib.o \
46       drwlib.o enulib.o fillib.o fltlib.o hshlib.o intlib.o itflib.o kbdlib.o lstlib.o pcslib.o \
47       pollib.o prclib.o prglib.o reflib.o rfllib.o sctlib.o setlib.o soclib.o sqllib.o strlib.o \
48       timlib.o typlib.o ut8lib.o
49EOBJ = exec.o doany.o objutl.o
50AOBJ = act_comp.o prg_comp.o analyze.o syntax.o token.o parser.o name.o type.o \
51       expr.o atom.o object.o scanner.o literal.o numlit.o findid.o \
52       error.o infile.o libpath.o symbol.o info.o stat.o fatal.o match.o
53GOBJ = syvarutl.o traceutl.o actutl.o executl.o blockutl.o \
54       entutl.o identutl.o chclsutl.o arrutl.o
55ROBJ = arr_rtl.o bln_rtl.o bst_rtl.o chr_rtl.o cmd_rtl.o con_rtl.o dir_rtl.o drw_rtl.o fil_rtl.o \
56       flt_rtl.o hsh_rtl.o int_rtl.o itf_rtl.o pcs_rtl.o set_rtl.o soc_rtl.o sql_rtl.o str_rtl.o \
57       tim_rtl.o ut8_rtl.o heaputl.o numutl.o sigutl.o striutl.o
58DOBJ = big_rtl.o big_gmp.o cmd_win.o dir_win.o dll_win.o fil_win.o pcs_win.o pol_sel.o soc_none.o \
59       stat_win.o tim_win.o
60OBJ = $(MOBJ)
61SEED7_LIB_OBJ = $(ROBJ) $(DOBJ)
62DRAW_LIB_OBJ = gkb_rtl.o drw_win.o gkb_win.o
63CONSOLE_LIB_OBJ = kbd_rtl.o con_win.o
64DATABASE_LIB_OBJ = sql_base.o sql_db2.o sql_fire.o sql_lite.o sql_my.o sql_oci.o sql_odbc.o \
65                   sql_post.o sql_srv.o sql_tds.o
66COMP_DATA_LIB_OBJ = typ_data.o rfl_data.o ref_data.o listutl.o flistutl.o typeutl.o datautl.o
67COMPILER_LIB_OBJ = $(POBJ) $(LOBJ) $(EOBJ) $(AOBJ) $(GOBJ)
68
69MSRC = s7.c
70PSRC = runerr.c option.c primitiv.c
71LSRC = actlib.c arrlib.c biglib.c binlib.c blnlib.c bstlib.c chrlib.c cmdlib.c conlib.c dcllib.c \
72       drwlib.c enulib.c fillib.c fltlib.c hshlib.c intlib.c itflib.c kbdlib.c lstlib.c pcslib.c \
73       pollib.c prclib.c prglib.c reflib.c rfllib.c sctlib.c setlib.c soclib.c sqllib.c strlib.c \
74       timlib.c typlib.c ut8lib.c
75ESRC = exec.c doany.c objutl.c
76ASRC = act_comp.c prg_comp.c analyze.c syntax.c token.c parser.c name.c type.c \
77       expr.c atom.c object.c scanner.c literal.c numlit.c findid.c \
78       error.c infile.c libpath.c symbol.c info.c stat.c fatal.c match.c
79GSRC = syvarutl.c traceutl.c actutl.c executl.c blockutl.c \
80       entutl.c identutl.c chclsutl.c arrutl.c
81RSRC = arr_rtl.c bln_rtl.c bst_rtl.c chr_rtl.c cmd_rtl.c con_rtl.c dir_rtl.c drw_rtl.c fil_rtl.c \
82       flt_rtl.c hsh_rtl.c int_rtl.c itf_rtl.c pcs_rtl.c set_rtl.c soc_rtl.c sql_rtl.c str_rtl.c \
83       tim_rtl.c ut8_rtl.c heaputl.c numutl.c sigutl.c striutl.c
84DSRC = big_rtl.c big_gmp.c cmd_win.c dir_win.c dll_win.c fil_win.c pcs_win.c pol_sel.c soc_none.c \
85       stat_win.c tim_win.c
86SRC = $(MSRC)
87SEED7_LIB_SRC = $(RSRC) $(DSRC)
88DRAW_LIB_SRC = gkb_rtl.c drw_win.c gkb_win.c
89CONSOLE_LIB_SRC = kbd_rtl.c con_win.c
90DATABASE_LIB_SRC_STD_INCL = sql_base.c sql_fire.c sql_lite.c sql_my.c sql_oci.c sql_odbc.c \
91                            sql_post.c sql_tds.c
92DATABASE_LIB_SRC = $(DATABASE_LIB_SRC_STD_INCL) sql_db2.c sql_srv.c
93COMP_DATA_LIB_SRC = typ_data.c rfl_data.c ref_data.c listutl.c flistutl.c typeutl.c datautl.c
94COMPILER_LIB_SRC = $(PSRC) $(LSRC) $(ESRC) $(ASRC) $(GSRC)
95
96s7: ..\bin\s7.exe ..\prg\s7.exe
97	..\bin\s7 -l ..\lib level
98	@echo.
99	@echo Use 'make s7c' (with your make command) to create the compiler.
100	@echo.
101
102s7c: ..\bin\s7c.exe ..\prg\s7c.exe
103	@echo.
104	@echo Use 'make test' (with your make command) to check Seed7.
105	@echo.
106
107..\bin\s7.exe: levelup.exe next_lvl $(OBJ) $(ALL_S7_LIBS)
108	$(CC) $(LDFLAGS) $(OBJ) $(ALL_S7_LIBS) $(ALL_SYSTEM_LIBS) -o ..\bin\s7
109	del next_lvl
110
111..\prg\s7.exe: ..\bin\s7.exe
112	copy ..\bin\s7.exe ..\prg /Y
113
114..\bin\s7c.exe: ..\prg\s7c.exe
115	copy ..\prg\s7c.exe ..\bin /Y
116
117..\prg\s7c.exe: ..\prg\s7c.sd7 $(ALL_S7_LIBS)
118	..\bin\s7 -l ..\lib ..\prg\s7c -l ..\lib -b ..\bin -O2 ..\prg\s7c
119
120levelup.exe: levelup.c
121	$(CC) levelup.c -o levelup
122
123next_lvl: levelup.exe
124	.\levelup.exe
125	echo X > next_lvl
126
127sql_db2.o: sql_db2.c
128	$(CC) -c $(CPPFLAGS) $(DB2_INCLUDE_OPTION) $(CFLAGS) sql_db2.c
129
130sql_srv.o: sql_srv.c
131	$(CC) -c $(CPPFLAGS) $(SQL_SERVER_INCLUDE_OPTION) $(CFLAGS) sql_srv.c
132
133all: depend
134	$(MAKE) -f mk_nmake.mak s7 s7c
135
136clear: clean
137
138clean:
139	del *.o
140	del ..\bin\*.a
141	del ..\bin\s7.exe
142	del ..\bin\s7c.exe
143	del ..\prg\s7.exe
144	del ..\prg\s7c.exe
145	del depend
146	del macros
147	del chkccomp.h
148	del base.h
149	del settings.h
150	del version.h
151	del setwpath.exe
152	del wrdepend.exe
153	del esc2qte.exe
154	del sudo.exe
155	del levelup.exe
156	del next_lvl
157	@echo.
158	@echo Use 'make depend' (with your make command) to create the dependencies.
159	@echo.
160
161clean_utils:
162	del ..\bin\bas7.exe
163	del ..\bin\bigfiles.exe
164	del ..\bin\calc7.exe
165	del ..\bin\cat.exe
166	del ..\bin\comanche.exe
167	del ..\bin\db7.exe
168	del ..\bin\diff7.exe
169	del ..\bin\find7.exe
170	del ..\bin\findchar.exe
171	del ..\bin\ftp7.exe
172	del ..\bin\ftpserv.exe
173	del ..\bin\hd.exe
174	del ..\bin\ide7.exe
175	del ..\bin\make7.exe
176	del ..\bin\pv7.exe
177	del ..\bin\sql7.exe
178	del ..\bin\sydir7.exe
179	del ..\bin\tar7.exe
180	del ..\bin\toutf8.exe
181	del ..\bin\which.exe
182
183distclean: clean clean_utils
184	copy level_bk.h level.h /Y
185	del vers_nmake.h
186
187test:
188	..\bin\s7 -l ..\lib ..\prg\chk_all build
189	@echo.
190	@echo Use 'sudo make install' (with your make command) to install Seed7.
191	@echo Or open a console as administrator, go to the directory seed7/src
192	@echo and use 'make install' (with your make command) to install Seed7.
193	@echo.
194
195install: setwpath.exe
196	.\setwpath.exe add ..\bin
197
198uninstall: setwpath.exe
199	.\setwpath.exe remove ..\bin
200
201dep: depend
202
203strip:
204	strip ..\bin\s7.exe
205
206chkccomp.h:
207	echo #define LIST_DIRECTORY_CONTENTS "dir" > chkccomp.h
208	echo #define LINKER_OPT_STATIC_LINKING "-static" >> chkccomp.h
209	echo #define CC_OPT_LINK_TIME_OPTIMIZATION "-flto" >> chkccomp.h
210	echo #define LINKER_OPT_NO_LTO "-fno-lto" >> chkccomp.h
211	echo #define POSTGRESQL_USE_DLL >> chkccomp.h
212
213base.h:
214	echo #define PATH_DELIMITER '\\' > base.h
215	echo #define OS_STRI_WCHAR >> base.h
216	echo #define QUOTE_WHOLE_SHELL_COMMAND >> base.h
217	echo #define OBJECT_FILE_EXTENSION ".o" >> base.h
218	echo #define EXECUTABLE_FILE_EXTENSION ".exe" >> base.h
219	echo #define C_COMPILER "$(CC)" >> base.h
220	echo #define CC_OPT_VERSION_INFO "--version" >> base.h
221	echo #define CC_FLAGS "-ffunction-sections -fdata-sections" >> base.h
222	echo #define CC_ERROR_FILEDES 2 >> base.h
223	echo #define CC_VERSION_INFO_FILEDES 1 >> base.h
224	echo #define LINKER_OPT_OUTPUT_FILE "-o " >> base.h
225	echo #define ARCHIVER "$(AR)" >> base.h
226	echo #define ARCHIVER_OPT_REPLACE "r " >> base.h
227	echo #define FORMAT_LL_TRIGGERS_WARNINGS 1 >> base.h
228	echo #define SYSTEM_LIBS "$(SYSTEM_LIBS)" >> base.h
229	echo #define SYSTEM_MATH_LIBS "$(SYSTEM_MATH_LIBS)" >> base.h
230
231settings.h:
232	echo #define MAKE_UTILITY_NAME "$(MAKE)" > settings.h
233	echo #define MAKEFILE_NAME "mk_nmake.mak" >> settings.h
234	echo #define SEARCH_PATH_DELIMITER ';' >> settings.h
235	echo #define CONSOLE_WCHAR >> settings.h
236	echo #define os_getch _getwch >> settings.h
237	echo #define LIBRARY_FILE_EXTENSION ".a" >> settings.h
238	echo #define CC_OPT_DEBUG_INFO "-g" >> settings.h
239	echo #define CC_OPT_NO_WARNINGS "-w" >> settings.h
240	echo #define LINKER_OPT_NO_DEBUG_INFO "-Wl,--strip-debug" >> settings.h
241	echo #define LINKER_FLAGS "$(LDFLAGS)" >> settings.h
242	echo #define SYSTEM_CONSOLE_LIBS "$(SYSTEM_CONSOLE_LIBS)" >> settings.h
243	echo #define SYSTEM_DRAW_LIBS "$(SYSTEM_DRAW_LIBS)" >> settings.h
244	echo #define SEED7_LIB "$(SEED7_LIB)" >> settings.h
245	echo #define DRAW_LIB "$(DRAW_LIB)" >> settings.h
246	echo #define CONSOLE_LIB "$(CONSOLE_LIB)" >> settings.h
247	echo #define DATABASE_LIB "$(DATABASE_LIB)" >> settings.h
248	echo #define COMP_DATA_LIB "$(COMP_DATA_LIB)" >> settings.h
249	echo #define COMPILER_LIB "$(COMPILER_LIB)" >> settings.h
250
251version.h: chkccomp.h base.h settings.h
252	$(CC) chkccomp.c -o chkccomp
253	.\chkccomp.exe version.h
254	del chkccomp.exe
255	$(CC) setpaths.c -o setpaths
256	.\setpaths.exe "S7_LIB_DIR=$(S7_LIB_DIR)" "SEED7_LIBRARY=$(SEED7_LIBRARY)" >> version.h
257	del setpaths.exe
258	$(CC) setwpath.c -o setwpath
259	$(CC) wrdepend.c -o wrdepend
260	$(CC) esc2qte.c -o esc2qte
261	$(CC) sudo.c -w -o sudo
262	copy version.h vers_nmake.h /Y
263
264.c.o:
265	$(CC) $(CFLAGS) -c $<
266
267depend: version.h
268	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(SRC) "> depend2"
269	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(SEED7_LIB_SRC) ">> depend2"
270	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(DRAW_LIB_SRC) ">> depend2"
271	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(CONSOLE_LIB_SRC) ">> depend2"
272	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(DATABASE_LIB_SRC_STD_INCL) ">> depend2"
273	.\wrdepend.exe OPTION=DB2_INCLUDE_OPTION $(CFLAGS) -M sql_db2.c ">> depend2"
274	.\wrdepend.exe OPTION=SQL_SERVER_INCLUDE_OPTION $(CFLAGS) -M sql_srv.c ">> depend2"
275	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(COMP_DATA_LIB_SRC) ">> depend2"
276	.\wrdepend.exe OPTION=INCLUDE_OPTIONS $(CFLAGS) -M $(COMPILER_LIB_SRC) ">> depend2"
277	.\esc2qte.exe < depend2 > depend
278	del depend2
279	@echo.
280	@echo Use 'make' (with your make command) to create the interpreter.
281	@echo.
282
283..\bin\$(SEED7_LIB): $(SEED7_LIB_OBJ)
284	$(AR) r ..\bin\$(SEED7_LIB) $(SEED7_LIB_OBJ)
285
286..\bin\$(DRAW_LIB): $(DRAW_LIB_OBJ)
287	$(AR) r ..\bin\$(DRAW_LIB) $(DRAW_LIB_OBJ)
288
289..\bin\$(CONSOLE_LIB): $(CONSOLE_LIB_OBJ)
290	$(AR) r ..\bin\$(CONSOLE_LIB) $(CONSOLE_LIB_OBJ)
291
292..\bin\$(DATABASE_LIB): $(DATABASE_LIB_OBJ)
293	$(AR) r ..\bin\$(DATABASE_LIB) $(DATABASE_LIB_OBJ)
294
295..\bin\$(COMP_DATA_LIB): $(COMP_DATA_LIB_OBJ)
296	$(AR) r ..\bin\$(COMP_DATA_LIB) $(COMP_DATA_LIB_OBJ)
297
298..\bin\$(COMPILER_LIB): $(COMPILER_LIB_OBJ)
299	$(AR) r ..\bin\$(COMPILER_LIB) $(COMPILER_LIB_OBJ)
300
301..\bin\bas7.exe: ..\prg\bas7.sd7 ..\bin\s7c.exe
302	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\bas7
303	copy ..\prg\bas7.exe ..\bin /Y
304	del ..\prg\bas7.exe
305
306..\bin\bigfiles.exe: ..\prg\bigfiles.sd7 ..\bin\s7c.exe
307	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\bigfiles
308	copy ..\prg\bigfiles.exe ..\bin /Y
309	del ..\prg\bigfiles.exe
310
311..\bin\calc7.exe: ..\prg\calc7.sd7 ..\bin\s7c.exe
312	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\calc7
313	copy ..\prg\calc7.exe ..\bin /Y
314	del ..\prg\calc7.exe
315
316..\bin\cat.exe: ..\prg\cat.sd7 ..\bin\s7c.exe
317	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\cat
318	copy ..\prg\cat.exe ..\bin /Y
319	del ..\prg\cat.exe
320
321..\bin\comanche.exe: ..\prg\comanche.sd7 ..\bin\s7c.exe
322	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\comanche
323	copy ..\prg\comanche.exe ..\bin /Y
324	del ..\prg\comanche.exe
325
326..\bin\db7.exe: ..\prg\db7.sd7 ..\bin\s7c.exe
327	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\db7
328	copy ..\prg\db7.exe ..\bin /Y
329	del ..\prg\db7.exe
330
331..\bin\diff7.exe: ..\prg\diff7.sd7 ..\bin\s7c.exe
332	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\diff7
333	copy ..\prg\diff7.exe ..\bin /Y
334	del ..\prg\diff7.exe
335
336..\bin\find7.exe: ..\prg\find7.sd7 ..\bin\s7c.exe
337	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\find7
338	copy ..\prg\find7.exe ..\bin /Y
339	del ..\prg\find7.exe
340
341..\bin\findchar.exe: ..\prg\findchar.sd7 ..\bin\s7c.exe
342	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\findchar
343	copy ..\prg\findchar.exe ..\bin /Y
344	del ..\prg\findchar.exe
345
346..\bin\ftp7.exe: ..\prg\ftp7.sd7 ..\bin\s7c.exe
347	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\ftp7
348	copy ..\prg\ftp7.exe ..\bin /Y
349	del ..\prg\ftp7.exe
350
351..\bin\ftpserv.exe: ..\prg\ftpserv.sd7 ..\bin\s7c.exe
352	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\ftpserv
353	copy ..\prg\ftpserv.exe ..\bin /Y
354	del ..\prg\ftpserv.exe
355
356..\bin\hd.exe: ..\prg\hd.sd7 ..\bin\s7c.exe
357	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\hd
358	copy ..\prg\hd.exe ..\bin /Y
359	del ..\prg\hd.exe
360
361..\bin\ide7.exe: ..\prg\ide7.sd7 ..\bin\s7c.exe
362	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\ide7
363	copy ..\prg\ide7.exe ..\bin /Y
364	del ..\prg\ide7.exe
365
366..\bin\make7.exe: ..\prg\make7.sd7 ..\bin\s7c.exe
367	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\make7
368	copy ..\prg\make7.exe ..\bin /Y
369	del ..\prg\make7.exe
370
371..\bin\pv7.exe: ..\prg\pv7.sd7 ..\bin\s7c.exe
372	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\pv7
373	copy ..\prg\pv7.exe ..\bin /Y
374	del ..\prg\pv7.exe
375
376..\bin\sql7.exe: ..\prg\sql7.sd7 ..\bin\s7c.exe
377	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\sql7
378	copy ..\prg\sql7.exe ..\bin /Y
379	del ..\prg\sql7.exe
380
381..\bin\sydir7.exe: ..\prg\sydir7.sd7 ..\bin\s7c.exe
382	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\sydir7
383	copy ..\prg\sydir7.exe ..\bin /Y
384	del ..\prg\sydir7.exe
385
386..\bin\tar7.exe: ..\prg\tar7.sd7 ..\bin\s7c.exe
387	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\tar7
388	copy ..\prg\tar7.exe ..\bin /Y
389	del ..\prg\tar7.exe
390
391..\bin\toutf8.exe: ..\prg\toutf8.sd7 ..\bin\s7c.exe
392	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\toutf8
393	copy ..\prg\toutf8.exe ..\bin /Y
394	del ..\prg\toutf8.exe
395
396..\bin\which.exe: ..\prg\which.sd7 ..\bin\s7c.exe
397	..\bin\s7c.exe -l ..\lib -b ..\bin -O3 -oc3 ..\prg\which
398	copy ..\prg\which.exe ..\bin /Y
399	del ..\prg\which.exe
400
401bas7: ..\bin\bas7.exe
402bigfiles: ..\bin\bigfiles.exe
403calc7: ..\bin\calc7.exe
404cat: ..\bin\cat.exe
405comanche: ..\bin\comanche.exe
406db7: ..\bin\db7.exe
407diff7: ..\bin\diff7.exe
408find7: ..\bin\find7.exe
409findchar: ..\bin\findchar.exe
410ftp7: ..\bin\ftp7.exe
411ftpserv: ..\bin\ftpserv.exe
412hd: ..\bin\hd.exe
413ide7: ..\bin\ide7.exe
414make7: ..\bin\make7.exe
415pv7: ..\bin\pv7.exe
416sql7: ..\bin\sql7.exe
417sydir7: ..\bin\sydir7.exe
418tar7: ..\bin\tar7.exe
419toutf8: ..\bin\toutf8.exe
420which: ..\bin\which.exe
421
422utils: ..\bin\bas7.exe ..\bin\bigfiles.exe ..\bin\calc7.exe ..\bin\cat.exe ..\bin\comanche.exe ..\bin\db7.exe \
423       ..\bin\diff7.exe ..\bin\find7.exe ..\bin\findchar.exe ..\bin\ftp7.exe ..\bin\ftpserv.exe ..\bin\hd.exe ..\bin\ide7.exe \
424       ..\bin\make7.exe ..\bin\pv7.exe ..\bin\sql7.exe ..\bin\sydir7.exe ..\bin\tar7.exe ..\bin\toutf8.exe ..\bin\which.exe
425
426wc: $(SRC)
427	@echo SRC:
428	wc $(SRC)
429	@echo SEED7_LIB_SRC:
430	wc $(SEED7_LIB_SRC)
431	@echo DRAW_LIB_SRC:
432	wc $(DRAW_LIB_SRC)
433	@echo CONSOLE_LIB_SRC:
434	wc $(CONSOLE_LIB_SRC)
435	@echo DATABASE_LIB_SRC:
436	wc $(DATABASE_LIB_SRC)
437	@echo COMP_DATA_LIB_SRC:
438	wc $(COMP_DATA_LIB_SRC)
439	@echo COMPILER_LIB_SRC:
440	wc $(COMPILER_LIB_SRC)
441
442lint: $(SRC)
443	lint -p $(SRC) $(ALL_SYSTEM_LIBS)
444
445lint2: $(SRC)
446	lint -Zn2048 $(SRC) $(ALL_SYSTEM_LIBS)
447
448!if exist(depend)
449!include depend
450!endif
451