fpmake.pp 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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,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('platform.inc');
  111. AddUnit('sysmsg');
  112. AddUnit('fvcommon');
  113. AddUnit('fvconsts');
  114. end;
  115. T:=P.Targets.AddUnit('editors.pas');
  116. with T.Dependencies do
  117. begin
  118. AddInclude('platform.inc');
  119. AddUnit('drivers');
  120. AddUnit('views');
  121. AddUnit('dialogs');
  122. AddUnit('fvcommon');
  123. AddUnit('fvconsts');
  124. AddUnit('app');
  125. AddUnit('stddlg');
  126. AddUnit('msgbox');
  127. end;
  128. T.ResourceStrings := True;
  129. T:=P.Targets.AddUnit('fvcommon.pas');
  130. with T.Dependencies do
  131. begin
  132. AddInclude('platform.inc');
  133. end;
  134. T:=P.Targets.AddUnit('fvconsts.pas');
  135. T:=P.Targets.AddUnit('gadgets.pas');
  136. with T.Dependencies do
  137. begin
  138. AddInclude('platform.inc');
  139. AddUnit('fvconsts');
  140. AddUnit('time');
  141. AddUnit('drivers');
  142. AddUnit('views');
  143. AddUnit('app');
  144. end;
  145. T:=P.Targets.AddUnit('histlist.pas');
  146. with T.Dependencies do
  147. begin
  148. AddInclude('platform.inc');
  149. AddUnit('fvcommon');
  150. end;
  151. T:=P.Targets.AddUnit('inplong.pas');
  152. with T.Dependencies do
  153. begin
  154. AddInclude('platform.inc');
  155. AddUnit('drivers');
  156. AddUnit('views');
  157. AddUnit('dialogs');
  158. AddUnit('msgbox');
  159. AddUnit('fvconsts');
  160. end;
  161. T:=P.Targets.AddUnit('memory.pas');
  162. with T.Dependencies do
  163. begin
  164. AddInclude('platform.inc');
  165. AddUnit('fvcommon');
  166. end;
  167. T:=P.Targets.AddUnit('menus.pas');
  168. with T.Dependencies do
  169. begin
  170. AddInclude('platform.inc');
  171. AddUnit('drivers');
  172. AddUnit('views');
  173. AddUnit('fvconsts');
  174. end;
  175. T:=P.Targets.AddUnit('msgbox.pas');
  176. with T.Dependencies do
  177. begin
  178. AddInclude('platform.inc');
  179. AddUnit('dialogs');
  180. AddUnit('drivers');
  181. AddUnit('views');
  182. AddUnit('app');
  183. end;
  184. T.ResourceStrings := True;
  185. T:=P.Targets.AddUnit('outline.pas');
  186. with T.Dependencies do
  187. begin
  188. AddUnit('drivers');
  189. AddUnit('views');
  190. end;
  191. T:=P.Targets.AddUnit('statuses.pas');
  192. with T.Dependencies do
  193. begin
  194. AddInclude('platform.inc');
  195. AddUnit('fvcommon');
  196. AddUnit('fvconsts');
  197. AddUnit('drivers');
  198. AddUnit('views');
  199. AddUnit('dialogs');
  200. AddUnit('msgbox');
  201. AddUnit('app');
  202. end;
  203. T:=P.Targets.AddUnit('stddlg.pas');
  204. with T.Dependencies do
  205. begin
  206. AddInclude('platform.inc');
  207. AddUnit('fvconsts');
  208. AddUnit('drivers');
  209. AddUnit('views');
  210. AddUnit('dialogs');
  211. AddUnit('validate');
  212. AddUnit('app');
  213. AddUnit('histlist');
  214. AddUnit('msgbox');
  215. end;
  216. T.ResourceStrings := True;
  217. T:=P.Targets.AddUnit('sysmsg.pas');
  218. with T.Dependencies do
  219. begin
  220. AddInclude('unixsmsg.inc',AllUnixOSes);
  221. AddInclude('w32smsg.inc',[win32,win64]);
  222. AddInclude('go32smsg.inc',[go32v2]);
  223. end;
  224. T:=P.Targets.AddUnit('tabs.pas');
  225. with T.Dependencies do
  226. begin
  227. AddInclude('platform.inc');
  228. AddUnit('drivers');
  229. AddUnit('views');
  230. AddUnit('fvconsts');
  231. AddUnit('fvcommon');
  232. AddUnit('dialogs');
  233. end;
  234. T:=P.Targets.AddUnit('timeddlg.pas');
  235. with T.Dependencies do
  236. begin
  237. AddInclude('platform.inc');
  238. AddUnit('dialogs');
  239. AddUnit('fvconsts');
  240. AddUnit('drivers');
  241. AddUnit('views');
  242. AddUnit('app');
  243. AddUnit('msgbox');
  244. end;
  245. T:=P.Targets.AddUnit('time.pas');
  246. with T.Dependencies do
  247. begin
  248. AddInclude('platform.inc');
  249. end;
  250. T:=P.Targets.AddUnit('validate.pas');
  251. with T.Dependencies do
  252. begin
  253. AddInclude('platform.inc');
  254. AddUnit('fvcommon');
  255. AddUnit('fvconsts');
  256. AddUnit('msgbox');
  257. end;
  258. T:=P.Targets.AddUnit('views.pas');
  259. with T.Dependencies do
  260. begin
  261. AddInclude('platform.inc');
  262. AddUnit('fvcommon');
  263. AddUnit('drivers');
  264. AddUnit('fvconsts');
  265. end;
  266. P.ExamplePath.Add('examples');
  267. P.ExamplePath.Add('src');
  268. P.Targets.AddExampleProgram('examples/testapp.pas');
  269. P.Targets.AddExampleProgram('src/platform.inc');
  270. // 'examples/Makefile
  271. // 'examples/testapp.lpi
  272. // 'examples/Makefile.fpc
  273. {$ifndef ALLPACKAGES}
  274. Run;
  275. end;
  276. end.
  277. {$endif ALLPACKAGES}