fpmake.pp 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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('ptc');
  13. {$ifdef ALLPACKAGES}
  14. P.Directory:=ADirectory;
  15. {$endif ALLPACKAGES}
  16. P.Version:='3.1.1';
  17. P.Author := 'Nikolay Nikolov, Glenn Fiedler, Christian Nentwich';
  18. P.License := 'LGPL with modification, ';
  19. P.HomepageURL := 'http://ptcpas.sourceforge.net/';
  20. P.Description := 'A free, portable framebuffer library.';
  21. p.OSes:=[linux,win32,win64,go32v2];
  22. P.SourcePath.Add('src');
  23. P.SourcePath.Add('src/ptcwrapper');
  24. P.SourcePath.Add('src/win32/directx', [win32, win64]);
  25. P.SourcePath.Add('src/dos/base',[go32v2]);
  26. P.SourcePath.Add('src/dos/cga',[go32v2]);
  27. P.SourcePath.Add('src/dos/textfx2',[go32v2]);
  28. P.SourcePath.Add('src/dos/timeunit',[go32v2]);
  29. P.SourcePath.Add('src/dos/vesa',[go32v2]);
  30. P.SourcePath.Add('src/dos/vga',[go32v2]);
  31. P.IncludePath.Add('src');
  32. P.IncludePath.Add('src/core');
  33. P.IncludePath.Add('src/dos',[go32v2]);
  34. P.IncludePath.Add('src/dos/base',[go32v2]);
  35. P.IncludePath.Add('src/dos/cga',[go32v2]);
  36. P.IncludePath.Add('src/dos/textfx2',[go32v2]);
  37. P.IncludePath.Add('src/dos/timeunit',[go32v2]);
  38. P.IncludePath.Add('src/dos/vesa',[go32v2]);
  39. P.IncludePath.Add('src/dos/vga',[go32v2]);
  40. P.IncludePath.Add('src/win32',[win32,win64]);
  41. P.IncludePath.Add('src/win32/base', [win32, win64]);
  42. P.IncludePath.Add('src/win32/directx', [win32, win64]);
  43. P.IncludePath.Add('src/win32/gdi', [win32, win64]);
  44. P.IncludePath.Add('src/wince',[wince]);
  45. P.IncludePath.Add('src/x11',AllUnixOSes);
  46. P.Dependencies.Add('hermes');
  47. P.Dependencies.Add('x11',AllUnixOSes);
  48. P.Dependencies.Add('opengl',AllUnixOSes + [win32, win64]);
  49. P.Dependencies.Add('fcl-base');
  50. p.Dependencies.Add('rtl-console');
  51. T:=P.Targets.AddUnit('p_ddraw.pp', [win32, win64]);
  52. T:=P.Targets.AddUnit('go32fix.pp',[go32v2]);
  53. T:=P.Targets.AddUnit('mouse33h.pp',[go32v2]);
  54. T:=P.Targets.AddUnit('textfx2.pp',[go32v2]);
  55. T:=P.Targets.AddUnit('cga.pp',[go32v2]);
  56. T:=P.Targets.AddUnit('timeunit.pp',[go32v2]);
  57. T:=P.Targets.AddUnit('vesa.pp',[go32v2]);
  58. T:=P.Targets.AddUnit('vga.pp',[go32v2]);
  59. T:=P.Targets.AddUnit('ptc.pp');
  60. with T.Dependencies do
  61. begin
  62. AddInclude('aread.inc');
  63. AddInclude('areai.inc');
  64. AddInclude('baseconsoled.inc');
  65. AddInclude('baseconsolei.inc');
  66. AddInclude('basesurfaced.inc');
  67. AddInclude('basesurfacei.inc');
  68. AddInclude('cleard.inc');
  69. AddInclude('cleari.inc');
  70. AddInclude('clipperd.inc');
  71. AddInclude('clipperi.inc');
  72. AddInclude('closeeventd.inc');
  73. AddInclude('closeeventi.inc');
  74. AddInclude('colord.inc');
  75. AddInclude('colori.inc');
  76. AddInclude('consoled.inc');
  77. AddInclude('consolei.inc');
  78. AddInclude('copyd.inc');
  79. AddInclude('copyi.inc');
  80. AddInclude('coreimplementation.inc');
  81. AddInclude('coreinterface.inc');
  82. AddInclude('errord.inc');
  83. AddInclude('errori.inc');
  84. AddInclude('eventd.inc');
  85. AddInclude('eventi.inc');
  86. AddInclude('formatd.inc');
  87. AddInclude('formati.inc');
  88. AddInclude('keyeventd.inc');
  89. AddInclude('keyeventi.inc');
  90. AddInclude('log.inc');
  91. AddInclude('moded.inc');
  92. AddInclude('modei.inc');
  93. AddInclude('mouseeventd.inc');
  94. AddInclude('mouseeventi.inc');
  95. AddInclude('openglattributesd.inc');
  96. AddInclude('openglattributesi.inc');
  97. AddInclude('paletted.inc');
  98. AddInclude('palettei.inc');
  99. AddInclude('resizeeventd.inc');
  100. AddInclude('resizeeventi.inc');
  101. AddInclude('surfaced.inc');
  102. AddInclude('surfacei.inc');
  103. AddInclude('timerd.inc');
  104. AddInclude('timeri.inc');
  105. AddInclude('includes.inc',[WinCE]);
  106. AddInclude('x11check.inc',allunixoses);
  107. AddInclude('x11consoled.inc',allunixoses);
  108. AddInclude('x11consolei.inc',allunixoses);
  109. AddInclude('x11dga1displayd.inc',allunixoses);
  110. AddInclude('x11dga1displayi.inc',allunixoses);
  111. AddInclude('x11dga2displayd.inc',allunixoses);
  112. AddInclude('x11dga2displayi.inc',allunixoses);
  113. AddInclude('x11displayd.inc',allunixoses);
  114. AddInclude('x11displayi.inc',allunixoses);
  115. AddInclude('x11extensions.inc',allunixoses);
  116. AddInclude('x11glxfbconfigd.inc',allunixoses);
  117. AddInclude('x11glxfbconfigi.inc',allunixoses);
  118. AddInclude('x11imaged.inc',allunixoses);
  119. AddInclude('x11imagei.inc',allunixoses);
  120. AddInclude('x11includes.inc',allunixoses);
  121. AddInclude('x11modesd.inc',allunixoses);
  122. AddInclude('x11modesi.inc',allunixoses);
  123. AddInclude('x11unikey.inc',allunixoses);
  124. AddInclude('x11windowdisplayd.inc',allunixoses);
  125. AddInclude('x11windowdisplayi.inc',allunixoses);
  126. AddInclude('win32cursor.inc', [win32, win64]);
  127. AddInclude('win32cursord.inc', [win32, win64]);
  128. AddInclude('win32cursormoded.inc', [win32, win64]);
  129. AddInclude('win32event.inc', [win32, win64]);
  130. AddInclude('win32eventd.inc', [win32, win64]);
  131. AddInclude('win32hook.inc', [win32, win64]);
  132. AddInclude('win32hookd.inc', [win32, win64]);
  133. AddInclude('win32kbd.inc', [win32, win64]);
  134. AddInclude('win32kbdd.inc', [win32, win64]);
  135. AddInclude('win32monitor.inc', [win32, win64]);
  136. AddInclude('win32monitord.inc', [win32, win64]);
  137. AddInclude('win32moused.inc', [win32, win64]);
  138. AddInclude('win32mousei.inc', [win32, win64]);
  139. AddInclude('win32resized.inc', [win32, win64]);
  140. AddInclude('win32resizei.inc', [win32, win64]);
  141. AddInclude('win32window.inc', [win32, win64]);
  142. AddInclude('win32windowd.inc', [win32, win64]);
  143. AddInclude('win32directxcheck.inc', [win32, win64]);
  144. AddInclude('win32directxconsoled.inc', [win32, win64]);
  145. AddInclude('win32directxconsolei.inc', [win32, win64]);
  146. AddInclude('win32directxdisplay.inc', [win32, win64]);
  147. AddInclude('win32directxdisplayd.inc', [win32, win64]);
  148. AddInclude('win32directxhook.inc', [win32, win64]);
  149. AddInclude('win32directxhookd.inc', [win32, win64]);
  150. AddInclude('win32directxlibrary.inc', [win32, win64]);
  151. AddInclude('win32directxlibraryd.inc', [win32, win64]);
  152. AddInclude('win32directxprimary.inc', [win32, win64]);
  153. AddInclude('win32directxprimaryd.inc', [win32, win64]);
  154. AddInclude('win32directxtranslate.inc', [win32, win64]);
  155. AddInclude('win32gdiconsoled.inc', [win32, win64]);
  156. AddInclude('win32gdiconsolei.inc', [win32, win64]);
  157. AddInclude('win32gdihookd.inc', [win32, win64]);
  158. AddInclude('win32gdihooki.inc', [win32, win64]);
  159. AddInclude('win32dibd.inc', [win32, win64]);
  160. AddInclude('win32dibi.inc', [win32, win64]);
  161. AddInclude('win32modesetterd.inc', [win32, win64]);
  162. AddInclude('win32modesetteri.inc', [win32, win64]);
  163. AddInclude('win32openglwindowd.inc', [win32, win64]);
  164. AddInclude('win32openglwindowi.inc', [win32, win64]);
  165. AddUnit('p_ddraw', [win32, win64]);
  166. AddInclude('includes.inc', [go32v2]);
  167. AddInclude('kbd.inc', [go32v2]);
  168. AddInclude('kbdd.inc', [go32v2]);
  169. AddInclude('moused.inc', [go32v2]);
  170. AddInclude('mousei.inc', [go32v2]);
  171. AddInclude('cgaconsoled.inc', [go32v2]);
  172. AddInclude('cgaconsolei.inc', [go32v2]);
  173. AddInclude('textfx2consoled.inc', [go32v2]);
  174. AddInclude('textfx2consolei.inc', [go32v2]);
  175. AddInclude('vesaconsoled.inc', [go32v2]);
  176. AddInclude('vesaconsolei.inc', [go32v2]);
  177. AddInclude('vgaconsoled.inc', [go32v2]);
  178. AddInclude('vgaconsolei.inc', [go32v2]);
  179. AddUnit('p_gx',[Wince]);
  180. AddUnit('go32fix',[go32v2]);
  181. AddUnit('mouse33h',[go32v2]);
  182. AddUnit('textfx2',[go32v2]);
  183. AddUnit('cga',[go32v2]);
  184. AddUnit('timeunit',[go32v2]);
  185. AddUnit('vesa',[go32v2]);
  186. AddUnit('vga',[go32v2]);
  187. end;
  188. T:=P.Targets.AddUnit('ptceventqueue.pp');
  189. with T.Dependencies do
  190. begin
  191. AddUnit('ptc');
  192. end;
  193. T:=P.Targets.AddUnit('ptcwrapper.pp');
  194. with T.Dependencies do
  195. begin
  196. AddUnit('ptc');
  197. AddUnit('ptceventqueue');
  198. end;
  199. P.ExamplePath.Add('examples/');
  200. P.Targets.AddExampleProgram('random.pp');
  201. P.Targets.AddExampleProgram('palette.pp');
  202. P.Targets.AddExampleProgram('pixel.pp');
  203. P.Targets.AddExampleProgram('console.pp');
  204. P.Targets.AddExampleProgram('image.pp');
  205. P.Targets.AddExampleProgram('flower.pp');
  206. P.Targets.AddExampleProgram('save.pp');
  207. P.Targets.AddExampleProgram('hicolor.pp');
  208. P.Targets.AddExampleProgram('stretch.pp');
  209. P.Targets.AddExampleProgram('tunnel.pp');
  210. P.Targets.AddExampleProgram('modes.pp');
  211. P.Targets.AddExampleProgram('buffer.pp');
  212. P.Targets.AddExampleProgram('texwarp.pp');
  213. P.Targets.AddExampleProgram('keyboard.pp');
  214. P.Targets.AddExampleProgram('timer.pp');
  215. P.Targets.AddExampleProgram('clip.pp');
  216. P.Targets.AddExampleProgram('lights.pp');
  217. P.Targets.AddExampleProgram('fire.pp');
  218. P.Targets.AddExampleProgram('mojo.pp');
  219. P.Targets.AddExampleProgram('land.pp');
  220. P.Targets.AddExampleProgram('keyboard2.pp');
  221. P.Targets.AddExampleProgram('keyboard3.pp');
  222. P.Targets.AddExampleProgram('clear.pp');
  223. P.Targets.AddExampleProgram('con_info.pp');
  224. P.Targets.AddExampleProgram('area.pp');
  225. P.Targets.AddExampleProgram('tunnel3d.pp');
  226. P.Targets.AddExampleProgram('ptcgl.pp', AllUnixOSes + [win32, win64]);
  227. P.Targets.AddExampleProgram('ptcgl2.pp', AllUnixOSes + [win32, win64]);
  228. P.Sources.AddExampleFiles('examples/*',P.Directory,false,'.');
  229. {$ifndef ALLPACKAGES}
  230. Run;
  231. end;
  232. end.
  233. {$endif ALLPACKAGES}