fpmake.pp 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  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:='2.7.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,win32,win64,os2,emx,netware,netwlibc,go32v2,morphos,aix];
  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. T:=P.Targets.AddUnit('app.pas');
  27. with T.Dependencies do
  28. begin
  29. AddInclude('platform.inc');
  30. AddUnit('fvcommon');
  31. AddUnit('drivers');
  32. AddUnit('views');
  33. AddUnit('menus');
  34. AddUnit('histlist');
  35. AddUnit('dialogs');
  36. AddUnit('msgbox');
  37. AddUnit('fvconsts');
  38. end;
  39. T.ResourceStrings := True;
  40. T:=P.Targets.AddUnit('asciitab.pas');
  41. with T.Dependencies do
  42. begin
  43. AddInclude('platform.inc');
  44. AddUnit('fvconsts');
  45. AddUnit('drivers');
  46. AddUnit('views');
  47. AddUnit('app');
  48. end;
  49. T:=P.Targets.AddUnit('buildfv.pas');
  50. T.Install := false; // Build-unit
  51. with T.Dependencies do
  52. begin
  53. AddUnit('fvcommon');
  54. AddUnit('drivers');
  55. AddUnit('fvconsts');
  56. AddUnit('views');
  57. AddUnit('validate');
  58. AddUnit('msgbox');
  59. AddUnit('dialogs');
  60. AddUnit('menus');
  61. AddUnit('app');
  62. AddUnit('stddlg');
  63. AddUnit('asciitab');
  64. AddUnit('tabs');
  65. AddUnit('outline');
  66. AddUnit('memory');
  67. AddUnit('colortxt');
  68. AddUnit('statuses');
  69. AddUnit('histlist');
  70. AddUnit('inplong');
  71. AddUnit('editors');
  72. AddUnit('gadgets');
  73. AddUnit('timeddlg');
  74. AddUnit('time');
  75. end;
  76. T:=P.Targets.AddUnit('colortxt.pas');
  77. with T.Dependencies do
  78. begin
  79. AddInclude('platform.inc');
  80. AddUnit('drivers');
  81. AddUnit('views');
  82. AddUnit('dialogs');
  83. AddUnit('app');
  84. AddUnit('fvconsts');
  85. end;
  86. T:=P.Targets.AddUnit('dialogs.pas');
  87. with T.Dependencies do
  88. begin
  89. AddInclude('platform.inc');
  90. AddUnit('fvcommon');
  91. AddUnit('fvconsts');
  92. AddUnit('drivers');
  93. AddUnit('views');
  94. AddUnit('validate');
  95. AddUnit('app');
  96. AddUnit('histlist');
  97. end;
  98. T.ResourceStrings := True;
  99. T:=P.Targets.AddUnit('drivers.pas');
  100. with T.Dependencies do
  101. begin
  102. AddInclude('platform.inc');
  103. AddUnit('sysmsg');
  104. AddUnit('fvcommon');
  105. AddUnit('fvconsts');
  106. end;
  107. T:=P.Targets.AddUnit('editors.pas');
  108. with T.Dependencies do
  109. begin
  110. AddInclude('platform.inc');
  111. AddUnit('drivers');
  112. AddUnit('views');
  113. AddUnit('dialogs');
  114. AddUnit('fvcommon');
  115. AddUnit('fvconsts');
  116. AddUnit('app');
  117. AddUnit('stddlg');
  118. AddUnit('msgbox');
  119. end;
  120. T.ResourceStrings := True;
  121. T:=P.Targets.AddUnit('fvcommon.pas');
  122. with T.Dependencies do
  123. begin
  124. AddInclude('platform.inc');
  125. end;
  126. T:=P.Targets.AddUnit('fvconsts.pas');
  127. T:=P.Targets.AddUnit('gadgets.pas');
  128. with T.Dependencies do
  129. begin
  130. AddInclude('platform.inc');
  131. AddUnit('fvconsts');
  132. AddUnit('time');
  133. AddUnit('drivers');
  134. AddUnit('views');
  135. AddUnit('app');
  136. end;
  137. T:=P.Targets.AddUnit('histlist.pas');
  138. with T.Dependencies do
  139. begin
  140. AddInclude('platform.inc');
  141. AddUnit('fvcommon');
  142. end;
  143. T:=P.Targets.AddUnit('inplong.pas');
  144. with T.Dependencies do
  145. begin
  146. AddInclude('platform.inc');
  147. AddUnit('drivers');
  148. AddUnit('views');
  149. AddUnit('dialogs');
  150. AddUnit('msgbox');
  151. AddUnit('fvconsts');
  152. end;
  153. T:=P.Targets.AddUnit('memory.pas');
  154. with T.Dependencies do
  155. begin
  156. AddInclude('platform.inc');
  157. AddUnit('fvcommon');
  158. end;
  159. T:=P.Targets.AddUnit('menus.pas');
  160. with T.Dependencies do
  161. begin
  162. AddInclude('platform.inc');
  163. AddUnit('drivers');
  164. AddUnit('views');
  165. AddUnit('fvconsts');
  166. end;
  167. T:=P.Targets.AddUnit('msgbox.pas');
  168. with T.Dependencies do
  169. begin
  170. AddInclude('platform.inc');
  171. AddUnit('dialogs');
  172. AddUnit('drivers');
  173. AddUnit('views');
  174. AddUnit('app');
  175. end;
  176. T.ResourceStrings := True;
  177. T:=P.Targets.AddUnit('outline.pas');
  178. with T.Dependencies do
  179. begin
  180. AddUnit('drivers');
  181. AddUnit('views');
  182. end;
  183. T:=P.Targets.AddUnit('statuses.pas');
  184. with T.Dependencies do
  185. begin
  186. AddInclude('platform.inc');
  187. AddUnit('fvcommon');
  188. AddUnit('fvconsts');
  189. AddUnit('drivers');
  190. AddUnit('views');
  191. AddUnit('dialogs');
  192. AddUnit('msgbox');
  193. AddUnit('app');
  194. end;
  195. T:=P.Targets.AddUnit('stddlg.pas');
  196. with T.Dependencies do
  197. begin
  198. AddInclude('platform.inc');
  199. AddUnit('fvconsts');
  200. AddUnit('drivers');
  201. AddUnit('views');
  202. AddUnit('dialogs');
  203. AddUnit('validate');
  204. AddUnit('app');
  205. AddUnit('histlist');
  206. AddUnit('msgbox');
  207. end;
  208. T.ResourceStrings := True;
  209. T:=P.Targets.AddUnit('sysmsg.pas');
  210. with T.Dependencies do
  211. begin
  212. AddInclude('unixsmsg.inc',AllUnixOSes);
  213. AddInclude('w32smsg.inc',[win32,win64]);
  214. AddInclude('go32smsg.inc',[go32v2]);
  215. end;
  216. T:=P.Targets.AddUnit('tabs.pas');
  217. with T.Dependencies do
  218. begin
  219. AddInclude('platform.inc');
  220. AddUnit('drivers');
  221. AddUnit('views');
  222. AddUnit('fvconsts');
  223. AddUnit('fvcommon');
  224. AddUnit('dialogs');
  225. end;
  226. T:=P.Targets.AddUnit('timeddlg.pas');
  227. with T.Dependencies do
  228. begin
  229. AddInclude('platform.inc');
  230. AddUnit('dialogs');
  231. AddUnit('fvconsts');
  232. AddUnit('drivers');
  233. AddUnit('views');
  234. AddUnit('app');
  235. AddUnit('msgbox');
  236. end;
  237. T:=P.Targets.AddUnit('time.pas');
  238. with T.Dependencies do
  239. begin
  240. AddInclude('platform.inc');
  241. end;
  242. T:=P.Targets.AddUnit('validate.pas');
  243. with T.Dependencies do
  244. begin
  245. AddInclude('platform.inc');
  246. AddUnit('fvcommon');
  247. AddUnit('fvconsts');
  248. AddUnit('msgbox');
  249. end;
  250. T:=P.Targets.AddUnit('views.pas');
  251. with T.Dependencies do
  252. begin
  253. AddInclude('platform.inc');
  254. AddUnit('fvcommon');
  255. AddUnit('drivers');
  256. AddUnit('fvconsts');
  257. end;
  258. P.ExamplePath.Add('examples');
  259. P.ExamplePath.Add('src');
  260. P.Targets.AddExampleProgram('examples/testapp.pas');
  261. P.Targets.AddExampleProgram('src/platform.inc');
  262. // 'examples/Makefile
  263. // 'examples/testapp.lpi
  264. // 'examples/Makefile.fpc
  265. {$ifndef ALLPACKAGES}
  266. Run;
  267. end;
  268. end.
  269. {$endif ALLPACKAGES}