fpmake.pp 9.9 KB

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