Makefile 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619
  1. #
  2. # Makefile generated by fpcmake v0.99.15 [2000/04/08]
  3. #
  4. defaultrule: info
  5. #####################################################################
  6. # Autodetect OS (Linux or Dos or Windows NT)
  7. # define inlinux when running under linux
  8. # define inWinNT when running under WinNT
  9. #####################################################################
  10. # We need only / in the path
  11. override PATH:=$(subst \,/,$(PATH))
  12. # Search for PWD and determine also if we are under linux
  13. PWD=$(strip $(wildcard $(addsuffix /pwd.exe,$(subst ;, ,$(PATH)))))
  14. ifeq ($(PWD),)
  15. PWD=$(strip $(wildcard $(addsuffix /pwd,$(subst :, ,$(PATH)))))
  16. ifeq ($(PWD),)
  17. nopwd:
  18. @echo You need the GNU utils package to use this Makefile!
  19. @echo Get ftp://ftp.freepascal.org/pub/fpc/dist/go32v2/utilgo32.zip
  20. @exit
  21. else
  22. inlinux=1
  23. endif
  24. else
  25. PWD:=$(firstword $(PWD))
  26. endif
  27. # Detect NT - NT sets OS to Windows_NT
  28. ifndef inlinux
  29. ifeq ($(OS),Windows_NT)
  30. inWinNT=1
  31. endif
  32. endif
  33. # Detect OS/2 - OS/2 has OS2_SHELL defined
  34. ifndef inlinux
  35. ifndef inWinNT
  36. ifdef OS2_SHELL
  37. inOS2=1
  38. endif
  39. endif
  40. endif
  41. # The extension of executables
  42. ifdef inlinux
  43. EXEEXT=
  44. else
  45. EXEEXT=.exe
  46. endif
  47. # The path which is search separated by spaces
  48. ifdef inlinux
  49. SEARCHPATH=$(subst :, ,$(PATH))
  50. else
  51. SEARCHPATH=$(subst ;, ,$(PATH))
  52. endif
  53. #####################################################################
  54. # FPC version/target Detection
  55. #####################################################################
  56. # What compiler to use ?
  57. ifndef FPC
  58. ifdef inOS2
  59. export FPC=ppos2$(EXEEXT)
  60. else
  61. export FPC=ppc386$(EXEEXT)
  62. endif
  63. endif
  64. # Target OS
  65. ifndef OS_TARGET
  66. export OS_TARGET=$(shell $(FPC) -iTO)
  67. endif
  68. # Source OS
  69. ifndef OS_SOURCE
  70. export OS_SOURCE=$(shell $(FPC) -iSO)
  71. endif
  72. # FPC_CPU
  73. ifndef FPC_CPU
  74. export FPC_CPU=$(shell $(FPC) -iTP)
  75. endif
  76. # FPC version
  77. ifndef FPC_VERSION
  78. export FPC_VERSION=$(shell $(FPC) -iV)
  79. endif
  80. #####################################################################
  81. # User Settings
  82. #####################################################################
  83. # Targets
  84. # Clean
  85. # Install
  86. ZIPTARGET=install
  87. # Defaults
  88. # Directories
  89. # Packages
  90. # Libraries
  91. #####################################################################
  92. # Default extensions
  93. #####################################################################
  94. # Default needed extensions (Go32v2,Linux)
  95. LOADEREXT=.as
  96. PPLEXT=.ppl
  97. PPUEXT=.ppu
  98. OEXT=.o
  99. ASMEXT=.s
  100. SMARTEXT=.sl
  101. STATICLIBEXT=.a
  102. SHAREDLIBEXT=.so
  103. PACKAGESUFFIX=
  104. # Go32v1
  105. ifeq ($(OS_TARGET),go32v1)
  106. PPUEXT=.pp1
  107. OEXT=.o1
  108. ASMEXT=.s1
  109. SMARTEXT=.sl1
  110. STATICLIBEXT=.a1
  111. SHAREDLIBEXT=.so1
  112. PACKAGESUFFIX=v1
  113. endif
  114. # Go32v2
  115. ifeq ($(OS_TARGET),go32v2)
  116. PACKAGESUFFIX=go32
  117. endif
  118. # Linux
  119. ifeq ($(OS_TARGET),linux)
  120. PACKAGESUFFIX=linux
  121. endif
  122. # Win32
  123. ifeq ($(OS_TARGET),win32)
  124. PPUEXT=.ppw
  125. OEXT=.ow
  126. ASMEXT=.sw
  127. SMARTEXT=.slw
  128. STATICLIBEXT=.aw
  129. SHAREDLIBEXT=.dll
  130. PACKAGESUFFIX=win32
  131. endif
  132. # OS/2
  133. ifeq ($(OS_TARGET),os2)
  134. PPUEXT=.ppo
  135. ASMEXT=.so2
  136. OEXT=.oo2
  137. SMARTEXT=.so
  138. STATICLIBEXT=.ao2
  139. SHAREDLIBEXT=.dll
  140. PACKAGESUFFIX=os2
  141. endif
  142. # library prefix
  143. LIBPREFIX=lib
  144. ifeq ($(OS_TARGET),go32v2)
  145. LIBPREFIX=
  146. endif
  147. ifeq ($(OS_TARGET),go32v1)
  148. LIBPREFIX=
  149. endif
  150. # determine which .pas extension is used
  151. ifndef PASEXT
  152. ifdef EXEOBJECTS
  153. override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(EXEOBJECTS)))))
  154. else
  155. override TESTPAS:=$(strip $(wildcard $(addsuffix .pas,$(firstword $(UNITOBJECTS)))))
  156. endif
  157. ifeq ($(TESTPAS),)
  158. PASEXT=.pp
  159. else
  160. PASEXT=.pas
  161. endif
  162. endif
  163. #####################################################################
  164. # Default Directories
  165. #####################################################################
  166. # Base dir
  167. ifdef PWD
  168. BASEDIR:=$(shell $(PWD))
  169. else
  170. BASEDIR=.
  171. endif
  172. # set the prefix directory where to install everything
  173. ifndef PREFIXINSTALLDIR
  174. ifdef inlinux
  175. export PREFIXINSTALLDIR=/usr
  176. else
  177. export PREFIXINSTALLDIR=/pp
  178. endif
  179. endif
  180. #####################################################################
  181. # Users rules
  182. #####################################################################
  183. # For linux by default no graph tests
  184. ifdef inlinux
  185. NOGRAPH=1
  186. endif
  187. DIRS=tf ts tbs tbf test tesi to webtbs webtbf
  188. # defining NOGRAPH excludes tests using the graph unit, defining
  189. # GRAPH includes those tests.
  190. ifdef NOGRAPH
  191. include graph.lst
  192. endif
  193. ifdef GRAPH
  194. graphlst=
  195. endif
  196. all : info
  197. tests : clean all_compilations
  198. cont_tests : all_compilations
  199. setdate :
  200. $(FPC) setdate.pp
  201. setdate$(EXEEXT)
  202. call setdate.bat
  203. .PHONY : setdate
  204. getret$(EXEEXT) : getret.pp
  205. $(FPC) getret
  206. getreturncode : getret$(EXEEXT)
  207. ifndef inlinux
  208. redir -ea $(FILE).log -oa $(FILE).log getret $(COMMAND)
  209. cp retcode $(FILE).$(RESEXT)
  210. else
  211. getret $(COMMAND) > $(FILE).log 2>$(FILE).log
  212. cp retcode $(FILE).$(RESEXT)
  213. # @echo "Return code of $(FILE) is $(cat retcode)"
  214. endif
  215. # retcode should be between 0 and 255
  216. # 256 is for halt
  217. # 512+doserror if doserror<>0
  218. # 1024 RESFILE does not exist
  219. # 2048 RESFILE is not set
  220. ifndef RESFILE
  221. RETVAL=2048
  222. else
  223. ifeq ($(wildcard $(RESFILE)*),$(RESFILE))
  224. RETVAL=$(shell cat $(RESFILE))
  225. else
  226. RETVAL=1024
  227. endif
  228. endif
  229. ifeq ($(RETVAL),0)
  230. testsuccess:
  231. @echo "Test for $(FILE) success (compiles)"
  232. @echo "Test for $(FILE) success (compiles)" >>$(LOG)
  233. else
  234. testsuccess:
  235. @echo "Test for $(FILE) fails (does not compile) error $(RETVAL)"
  236. @echo "Test for $(FILE) fails (does not compile) error $(RETVAL)" >> $(LOG)
  237. ifdef LONGLOG
  238. @echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" >> $(LONGLOG)
  239. @echo "Test for $(FILE) fails (does not compile) error $(RETVAL)" >> $(LONGLOG)
  240. @echo "" >> $(LONGLOG)
  241. cat $(FILE).log >> $(LONGLOG)
  242. @echo "" >> $(LONGLOG)
  243. endif
  244. @echo $(FILE) does not compile >> ts_fail
  245. @echo $(FILE) does not compile error $(RETVAL) >> faillist
  246. endif
  247. ifdef EXCFILE
  248. ifeq ($(wildcard $(EXCFILE)*),$(EXCFILE))
  249. EXERETVAL:=$(shell cat $(EXCFILE))
  250. else
  251. EXERETVAL=$(EXCFILE) does not exist
  252. endif
  253. else
  254. EXERETVAL=No EXCFILE variable defined
  255. endif
  256. ifdef REEFILE
  257. ifeq ($(wildcard $(REEFILE)*),$(REEFILE))
  258. export EXPECTEDRETVAL:=$(strip $(shell cat $(REEFILE)))
  259. else
  260. export EXPECTEDRETVAL=0
  261. endif
  262. endif
  263. ifdef FILE
  264. ifneq ($(CFGFILE),$(FILE).cfg)
  265. ifneq ($(wildcard $(FILE).cfg),)
  266. export CFGFILE:=$(FILE).cfg
  267. export COMPILEROPT:=$(filter-out COMPILEROPT=,$(shell grep COMPILEROPT= $(CFGFILE)))
  268. export RUNARGS:=$(filter-out RUNARGS=,$(shell grep RUNARGS= $(CFGFILE)))
  269. export POSTPROCESS:=$(filter-out POSTPROCESS=,$(shell grep POSTPROCESS= $(CFGFILE)))
  270. else
  271. CFGFILE=
  272. COMPILEROPT=
  273. RUNARGS=
  274. POSTPROCESS=
  275. endif
  276. endif
  277. endif
  278. ifeq ($(EXERETVAL),$(EXPECTEDRETVAL))
  279. ifeq ($(EXPECTEDRETVAL),0)
  280. testexecsuccess:
  281. @echo "Test for exec $(FILE) success (runs without error)"
  282. @echo "Test for $(FILE) success (runs without error)" >> $(LOG)
  283. else
  284. testexecsuccess:
  285. @echo "Test for exec $(FILE) success (gives correct error $(EXERETVAL))"
  286. @echo "Test for $(FILE) success (gives correct error $(EXERETVAL))" >> $(LOG)
  287. endif
  288. else
  289. ifeq ($(EXPECTEDRETVAL),0)
  290. testexecsuccess:
  291. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL)"
  292. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL)" >> $(LOG)
  293. @echo "Running $(FILE) fails with error $(EXERETVAL)" >> faillist
  294. ifdef LONGLOG
  295. @echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" >> $(LONGLOG)
  296. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL)" >> $(LONGLOG)
  297. @echo "" >> $(LONGLOG)
  298. cat $(FILE).elg >> $(LONGLOG)
  299. @echo $(FILE) >> ex_fail
  300. endif
  301. else
  302. testexecsuccess:
  303. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL) ($(EXPECTEDRETVAL) expected)"
  304. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL) ($(EXPECTEDRETVAL) expected)" >> $(LOG)
  305. @echo "Running $(FILE) fails with error $(EXERETVAL) ($(EXPECTEDRETVAL) expected)" >> faillist
  306. ifdef LONGLOG
  307. @echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" >> $(LONGLOG)
  308. @echo "Test for exec $(FILE) fails exec error $(EXERETVAL) ($(EXPECTEDRETVAL) expected)" >> $(LONGLOG)
  309. @echo "" >> $(LONGLOG)
  310. cat $(FILE).elg >> $(LONGLOG)
  311. @echo $(FILE) >> ex_fail
  312. endif
  313. endif
  314. endif
  315. ifeq ($(wildcard $(FILE)$(EXEEXT)),$(FILE)$(EXEEXT))
  316. testexec:
  317. @echo "Testing $(FILE)$(EXEEXT)"
  318. ifdef NOREDIR
  319. getret $(FILE)$(EXEEXT)
  320. @echo CFGFILE is $(CFGFILE)
  321. ifdef POSTPROCESS
  322. echo Running post process
  323. -$(POSTPROCESS)
  324. endif
  325. else
  326. ifndef inlinux
  327. redir -e $(FILE).elg -o $(FILE).elg getret $(FILE)$(EXEEXT) $(RUNARGS)
  328. @echo CFGFILE is $(CFGFILE)
  329. ifdef POSTPROCESS
  330. @echo Running post process
  331. -redir -ea $(FILE).elg -oa $(FILE).elg $(POSTPROCESS)
  332. endif
  333. else
  334. getret $(FILE)$(EXEEXT) $(RUNARGS) > $(FILE).elg 2>$(FILE).elg
  335. @echo CFGFILE is $(CFGFILE)
  336. ifdef POSTPROCESS
  337. echo Running post process
  338. -$(POSTPROCESS) >> $(FILE).elg 2>> $(FILE).elg
  339. endif
  340. endif
  341. endif
  342. cp -f retcode $(FILE).exc
  343. $(MAKE) testexecsuccess 'FILE=$(FILE)' 'EXCFILE=$(FILE).exc' 'REEFILE=$(FILE).ree'
  344. else
  345. testexec:
  346. ifeq ($(wildcard $(FILE)$(PPUEXT)),$(FILE)$(PPUEXT))
  347. @echo "file is a unit $(FILE)$(PPUEXT)"
  348. @echo "unit" > $(FILE).elg
  349. else
  350. ifeq ($(wildcard $(FILE).dll),$(FILE).dll)
  351. @echo "file is a DLL $(FILE)$(PPUEXT)"
  352. @echo "DLL" > $(FILE).elg
  353. else
  354. @echo "No exefile $(FILE)$(EXEEXT)"
  355. ifdef LONGLOG
  356. @echo "No exefile $(FILE)$(EXEEXT) was generated" >> $(LONGLOG)
  357. endif
  358. endif
  359. endif
  360. endif
  361. test_exc :
  362. @echo $(wildcard $(FILE).exc*)
  363. @echo xx$(wildcard $(EXCFILE)*)xx xx$(EXCFILE)xx
  364. cat $(FILE).exc
  365. ifneq ($(RETVAL),0)
  366. testfail:
  367. @echo "Test for $(FILE) success (does not compile) error $(RETVAL)"
  368. @echo "Test for $(FILE) success (does not compile) error $(RETVAL)" >> $(LOG)
  369. else
  370. testfail:
  371. @echo "Test for $(FILE) fails (does compile and should not)"
  372. @echo "Test for $(FILE) fails (does compile and should not)" >> $(LOG)
  373. ifdef LONGLOG
  374. @echo "Test for $(FILE) fails (does compile and should not)" >> $(LONGLOG)
  375. endif
  376. @echo $(FILE) >> tf_fail
  377. @echo $(FILE) compiles >> faillist
  378. endif
  379. ifndef LONGLOG
  380. export LONGLOG:=longlog
  381. endif
  382. ifndef LOG
  383. export LOG:=log
  384. endif
  385. listcfg :
  386. @echo CFGFILE is "$(CFGFILE)"
  387. @echo COMPILEROPT is "$(COMPILEROPT)"
  388. @echo RUNARGS is "$(RUNARGS)"
  389. @echo EXPECTEDRETVAL is "$(EXPECTEDRETVAL)"
  390. @echo POSTPROCESS is "$(POSTPROCESS)"
  391. ifdef FILE
  392. OPTFILE=$(wildcard $(FILE).opt)
  393. endif
  394. ifdef OPTFILE
  395. override OPT+=$(OPTFILE)
  396. endif
  397. ifndef FILE
  398. FILE=ts/ts00001.pp
  399. endif
  400. testone :
  401. $(MAKE) getreturncode 'COMMAND=$(FPC) $(OPT) $(COMPILEROPT) $(FILE).pp' 'RESEXT=$(RESEXT)' 'FILE=$(FILE)'
  402. %.res : %.pp
  403. $(MAKE) testone 'FILE=$*' 'RESEXT=res'
  404. $(MAKE) testsuccess 'FILE=$*' 'RESFILE=$*.res'
  405. %.ref : %.pp
  406. $(MAKE) testone 'FILE=$*' 'RESEXT=ref'
  407. $(MAKE) testfail 'FILE=$*' 'RESFILE=$*.ref'
  408. # exec log files
  409. # creates two files
  410. # *.elg log file
  411. # *.exc exicode of program
  412. %.elg : %.res
  413. $(MAKE) testexec 'FILE=$*'
  414. %.eli : %.res
  415. $(MAKE) testexec 'FILE=$*' 'NOREDIR=YES'
  416. allts : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
  417. alltbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
  418. allwebtbs : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
  419. tbs0to99 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
  420. tbs100to199 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
  421. tbs200to299 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
  422. tbs300to399 : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
  423. alltest : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard test/test*.pp)))
  424. alltesi : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
  425. alltis : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
  426. alltf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tf/tf*.pp)))
  427. alltbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard tbf/tbf*.pp)))
  428. allwebtbf : $(patsubst %.pp,%.ref,$(filter-out $(graphlst),$(wildcard webtbf/tbug*.pp)))
  429. allto : $(patsubst %.pp,%.res,$(filter-out $(graphlst),$(wildcard to/to*.pp)))
  430. ifndef TS_FAIL_LIST
  431. ifeq ($(wildcard ts_fail*),ts_fail)
  432. TS_FAIL_LIST=$(shell cat ts_fail)
  433. export TS_FAIL_LIST
  434. endif
  435. endif
  436. ifndef TF_FAIL_LIST
  437. ifeq ($(wildcard tf_fail*),tf_fail)
  438. TF_FAIL_LIST=$(shell cat tf_fail)
  439. export TF_FAIL_LIST
  440. endif
  441. endif
  442. ifndef EXEC_FAIL_LIST
  443. ifeq ($(wildcard ex_fail*),ex_fail)
  444. EXEC_FAIL_LIST=$(shell cat ex_fail)
  445. export EXEC_FAIL_LIST
  446. endif
  447. endif
  448. clean_fail :
  449. -rm -f $(addsuffix .res,$(TS_FAIL_LIST))
  450. -rm -f $(addsuffix .ref,$(TF_FAIL_LIST))
  451. -rm -f $(addsuffix .res,$(EXEC_FAIL_LIST))
  452. -rm -f $(addsuffix .elg,$(EXEC_FAIL_LIST))
  453. # Test all failure of last time
  454. # don't forget to try to run them again
  455. again :
  456. $(MAKE) internal_again LOG=again.log LONGLOG=again.llg
  457. internal_again : clean_fail $(addsuffix .res,$(TS_FAIL_LIST)) \
  458. $(addsuffix .ref,$(TF_FAIL_LIST)) \
  459. $(addsuffix .elg,$(EXEC_FAIL_LIST) $(TS_FAIL_LIST))
  460. grep fails $(LOG)
  461. all_compilations : allts alltbs allwebtbs alltf alltbf allwebtbf allto alltest alltesi alltis
  462. grep fails $(LOG)
  463. allexec : alltsexec alltbsexec allwebtbsexec alltestexec
  464. grep fails $(LOG)
  465. alltestexec: $(patsubst %.pp,%.elg,$(wildcard test/test*.pp))
  466. allfails :
  467. grep fails $(LOG) > fails.log
  468. # these test are interactive
  469. # no redirection !!!
  470. alltesiexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tesi/tesi*.pp)))
  471. alltsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard ts/ts*.pp)))
  472. alltbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs*.pp)))
  473. allwebtbsexec: $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard webtbs/tbug*.pp)))
  474. tbsexec0to99 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs00*.pp)))
  475. tbsexec100to199 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs01*.pp)))
  476. tbsexec200to299 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs02*.pp)))
  477. tbsexec300to399 : $(patsubst %.pp,%.elg,$(filter-out $(graphlst),$(wildcard tbs/tbs03*.pp)))
  478. alltisexec: $(patsubst %.pp,%.eli,$(filter-out $(graphlst),$(wildcard tis/tis*.pp)))
  479. clean:
  480. -rm -f $(addsuffix /*.ref,$(DIRS))
  481. -rm -f $(addsuffix /*.res,$(DIRS))
  482. -rm -f $(addsuffix /*$(PPUEXT),$(DIRS))
  483. -rm -f $(addsuffix /*$(OEXT),$(DIRS))
  484. -rm -f $(addsuffix /*.log,$(DIRS))
  485. -rm -f $(addsuffix /*.elg,$(DIRS))
  486. -rm -f $(addsuffix /*.exc,$(DIRS))
  487. ifdef inlinux
  488. -rm -f $(patsubst %.pp,%$(EXEEXT),$(wildcard $(addsuffix /t*.pp,$(DIRS))))
  489. else
  490. -rm -f $(addsuffix /*$(EXEEXT),$(DIRS))
  491. endif
  492. -rm -f *.tmp
  493. -rm -f $(LOG) $(LONGLOG) faillist ts_fail tf_fail ex_fail
  494. -rm -f fpcmaked ppas.sh ppas.bat retcode
  495. info :
  496. @echo This Makefile allows to test the compiler
  497. @echo compilation of 'ts*.pp' should succeed
  498. @echo compilation of 'tf*.pp' should fail
  499. @echo compilation of 'test*.pp' should succeed
  500. @echo 'to*.pp' files should also compile
  501. @echo simply run \'make tests\' to test all compilation
  502. @echo run \'make allexec\' to test also if the executables
  503. @echo created behave like the should
  504. @echo run \'make tesiexec\' to test executables
  505. @echo that require interactive mode