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