fpmake.pp 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. Var
  6. P : TPackage;
  7. T : TTarget;
  8. begin
  9. With Installer do
  10. begin
  11. {$endif ALLPACKAGES}
  12. P:=AddPackage('fv');
  13. {$ifdef ALLPACKAGES}
  14. P.Directory:=ADirectory;
  15. {$endif ALLPACKAGES}
  16. P.Version:='3.3.1';
  17. P.Author := 'Leon De Boer and Pierre Mueller';
  18. P.License := 'LGPL with modification, ';
  19. P.HomepageURL := 'www.freepascal.org';
  20. P.OSes := [beos,haiku,freebsd,darwin,iphonesim,ios,solaris,netbsd,openbsd,linux,win16,win32,win64,os2,emx,netware,netwlibc,go32v2,msdos,aix,dragonfly]+AllAmigaLikeOSes;
  21. P.Email := '';
  22. P.Description := 'Free Vision, a portable Turbo Vision clone.';
  23. P.NeedLibC:= false;
  24. P.SourcePath.Add('src');
  25. P.IncludePath.Add('src');
  26. P.Dependencies.add('rtl-console');
  27. P.Dependencies.add('rtl-extra');
  28. P.Dependencies.add('morphunits',[morphos]);
  29. P.Dependencies.add('arosunits',[aros]);
  30. if Defaults.CPU=m68k then
  31. P.Dependencies.Add('amunits',[amiga]);
  32. if Defaults.CPU=powerpc then
  33. P.Dependencies.Add('os4units',[amiga]);
  34. T:=P.Targets.AddUnit('app.pas');
  35. with T.Dependencies do
  36. begin
  37. AddInclude('platform.inc');
  38. AddUnit('fvcommon');
  39. AddUnit('drivers');
  40. AddUnit('views');
  41. AddUnit('menus');
  42. AddUnit('histlist');
  43. AddUnit('dialogs');
  44. AddUnit('msgbox');
  45. AddUnit('fvconsts');
  46. end;
  47. T.ResourceStrings := True;
  48. T:=P.Targets.AddUnit('asciitab.pas');
  49. with T.Dependencies do
  50. begin
  51. AddInclude('platform.inc');
  52. AddUnit('fvconsts');
  53. AddUnit('drivers');
  54. AddUnit('views');
  55. AddUnit('app');
  56. end;
  57. T:=P.Targets.AddUnit('buildfv.pas');
  58. T.Install := false; // Build-unit
  59. with T.Dependencies do
  60. begin
  61. AddUnit('fvcommon');
  62. AddUnit('drivers');
  63. AddUnit('fvconsts');
  64. AddUnit('views');
  65. AddUnit('validate');
  66. AddUnit('msgbox');
  67. AddUnit('dialogs');
  68. AddUnit('menus');
  69. AddUnit('app');
  70. AddUnit('stddlg');
  71. AddUnit('asciitab');
  72. AddUnit('tabs');
  73. AddUnit('outline');
  74. AddUnit('memory');
  75. AddUnit('colortxt');
  76. AddUnit('statuses');
  77. AddUnit('histlist');
  78. AddUnit('inplong');
  79. AddUnit('editors');
  80. AddUnit('gadgets');
  81. AddUnit('timeddlg');
  82. AddUnit('time');
  83. end;
  84. T:=P.Targets.AddUnit('colortxt.pas');
  85. with T.Dependencies do
  86. begin
  87. AddInclude('platform.inc');
  88. AddUnit('drivers');
  89. AddUnit('views');
  90. AddUnit('dialogs');
  91. AddUnit('app');
  92. AddUnit('fvconsts');
  93. end;
  94. T:=P.Targets.AddUnit('dialogs.pas');
  95. with T.Dependencies do
  96. begin
  97. AddInclude('platform.inc');
  98. AddUnit('fvcommon');
  99. AddUnit('fvconsts');
  100. AddUnit('drivers');
  101. AddUnit('views');
  102. AddUnit('validate');
  103. AddUnit('app');
  104. AddUnit('histlist');
  105. end;
  106. T.ResourceStrings := True;
  107. T:=P.Targets.AddUnit('drivers.pas');
  108. with T.Dependencies do
  109. begin
  110. AddInclude('drivers.inc');
  111. AddInclude('platform.inc');
  112. AddUnit('sysmsg');
  113. AddUnit('fvcommon');
  114. AddUnit('fvconsts');
  115. end;
  116. T:=P.Targets.AddUnit('editors.pas');
  117. with T.Dependencies do
  118. begin
  119. AddInclude('platform.inc');
  120. AddUnit('drivers');
  121. AddUnit('views');
  122. AddUnit('dialogs');
  123. AddUnit('fvcommon');
  124. AddUnit('fvconsts');
  125. AddUnit('app');
  126. AddUnit('stddlg');
  127. AddUnit('msgbox');
  128. end;
  129. T.ResourceStrings := True;
  130. T:=P.Targets.AddUnit('fvcommon.pas');
  131. with T.Dependencies do
  132. begin
  133. AddInclude('platform.inc');
  134. end;
  135. T:=P.Targets.AddUnit('fvconsts.pas');
  136. T:=P.Targets.AddUnit('gadgets.pas');
  137. with T.Dependencies do
  138. begin
  139. AddInclude('platform.inc');
  140. AddUnit('fvconsts');
  141. AddUnit('time');
  142. AddUnit('drivers');
  143. AddUnit('views');
  144. AddUnit('app');
  145. end;
  146. T:=P.Targets.AddUnit('histlist.pas');
  147. with T.Dependencies do
  148. begin
  149. AddInclude('platform.inc');
  150. AddUnit('fvcommon');
  151. end;
  152. T:=P.Targets.AddUnit('inplong.pas');
  153. with T.Dependencies do
  154. begin
  155. AddInclude('platform.inc');
  156. AddUnit('drivers');
  157. AddUnit('views');
  158. AddUnit('dialogs');
  159. AddUnit('msgbox');
  160. AddUnit('fvconsts');
  161. end;
  162. T:=P.Targets.AddUnit('memory.pas');
  163. with T.Dependencies do
  164. begin
  165. AddInclude('platform.inc');
  166. AddUnit('fvcommon');
  167. end;
  168. T:=P.Targets.AddUnit('menus.pas');
  169. with T.Dependencies do
  170. begin
  171. AddInclude('platform.inc');
  172. AddUnit('drivers');
  173. AddUnit('views');
  174. AddUnit('fvconsts');
  175. end;
  176. T:=P.Targets.AddUnit('msgbox.pas');
  177. with T.Dependencies do
  178. begin
  179. AddInclude('platform.inc');
  180. AddUnit('dialogs');
  181. AddUnit('drivers');
  182. AddUnit('views');
  183. AddUnit('app');
  184. end;
  185. T.ResourceStrings := True;
  186. T:=P.Targets.AddUnit('outline.pas');
  187. with T.Dependencies do
  188. begin
  189. AddUnit('drivers');
  190. AddUnit('views');
  191. end;
  192. T:=P.Targets.AddUnit('statuses.pas');
  193. with T.Dependencies do
  194. begin
  195. AddInclude('platform.inc');
  196. AddUnit('fvcommon');
  197. AddUnit('fvconsts');
  198. AddUnit('drivers');
  199. AddUnit('views');
  200. AddUnit('dialogs');
  201. AddUnit('msgbox');
  202. AddUnit('app');
  203. end;
  204. T:=P.Targets.AddUnit('stddlg.pas');
  205. with T.Dependencies do
  206. begin
  207. AddInclude('platform.inc');
  208. AddUnit('fvconsts');
  209. AddUnit('drivers');
  210. AddUnit('views');
  211. AddUnit('dialogs');
  212. AddUnit('validate');
  213. AddUnit('app');
  214. AddUnit('histlist');
  215. AddUnit('msgbox');
  216. end;
  217. T.ResourceStrings := True;
  218. T:=P.Targets.AddUnit('sysmsg.pas');
  219. with T.Dependencies do
  220. begin
  221. AddInclude('unixsmsg.inc',AllUnixOSes);
  222. AddInclude('w32smsg.inc',[win32,win64]);
  223. AddInclude('go32smsg.inc',[go32v2]);
  224. end;
  225. T:=P.Targets.AddUnit('tabs.pas');
  226. with T.Dependencies do
  227. begin
  228. AddInclude('platform.inc');
  229. AddUnit('drivers');
  230. AddUnit('views');
  231. AddUnit('fvconsts');
  232. AddUnit('fvcommon');
  233. AddUnit('dialogs');
  234. end;
  235. T:=P.Targets.AddUnit('timeddlg.pas');
  236. with T.Dependencies do
  237. begin
  238. AddInclude('platform.inc');
  239. AddUnit('dialogs');
  240. AddUnit('fvconsts');
  241. AddUnit('drivers');
  242. AddUnit('views');
  243. AddUnit('app');
  244. AddUnit('msgbox');
  245. end;
  246. T:=P.Targets.AddUnit('time.pas');
  247. with T.Dependencies do
  248. begin
  249. AddInclude('platform.inc');
  250. end;
  251. T:=P.Targets.AddUnit('validate.pas');
  252. with T.Dependencies do
  253. begin
  254. AddInclude('platform.inc');
  255. AddUnit('fvcommon');
  256. AddUnit('fvconsts');
  257. AddUnit('msgbox');
  258. end;
  259. T:=P.Targets.AddUnit('views.pas');
  260. with T.Dependencies do
  261. begin
  262. AddInclude('platform.inc');
  263. AddUnit('fvcommon');
  264. AddUnit('drivers');
  265. AddUnit('fvconsts');
  266. end;
  267. P.ExamplePath.Add('examples');
  268. P.ExamplePath.Add('src');
  269. P.Targets.AddExampleProgram('examples/testapp.pas');
  270. P.Targets.AddExampleProgram('src/platform.inc');
  271. // 'examples/Makefile
  272. // 'examples/testapp.lpi
  273. // 'examples/Makefile.fpc
  274. {$ifndef ALLPACKAGES}
  275. Run;
  276. end;
  277. end.
  278. {$endif ALLPACKAGES}