fpmake.pp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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('libndsfpc');
  13. P.OSes:=[nds];
  14. P.CPUs:=[arm];
  15. {$ifdef ALLPACKAGES}
  16. P.Directory:=ADirectory;
  17. {$endif ALLPACKAGES}
  18. P.Version:='3.3.1';
  19. P.Author := 'Library: libnds, dswifi, maxmod and gl2d from devkitARM; headers: Francesco Lombardi';
  20. P.License := 'LGPL';
  21. P.HomepageURL := 'www.freepascal.org';
  22. P.Email := '';
  23. P.Description := 'Some libraries for Nintendo DS.';
  24. P.NeedLibC:= false;
  25. P.SourcePath.Add('src');
  26. T:=P.Targets.AddUnit('nds9.pp');
  27. T:=P.Targets.AddUnit('nds7.pp');
  28. T.IncludePath.Add('src/nds');
  29. with T.Dependencies do
  30. begin
  31. AddInclude('bios.inc');
  32. AddInclude('card.inc');
  33. AddInclude('debug.inc');
  34. AddInclude('disc_io.inc');
  35. AddInclude('dma.inc');
  36. AddInclude('fifocommon.inc');
  37. AddInclude('fifomessages.inc');
  38. AddInclude('helper.inc');
  39. AddInclude('input.inc');
  40. AddInclude('interrupts.inc');
  41. AddInclude('ipc.inc');
  42. AddInclude('jtypes.inc');
  43. AddInclude('libversion.inc');
  44. AddInclude('memory.inc');
  45. AddInclude('nds.inc');
  46. AddInclude('ndsinclude.inc');
  47. AddInclude('ndstypes.inc');
  48. AddInclude('registers_alt.inc');
  49. AddInclude('system.inc');
  50. AddInclude('timers.inc');
  51. AddInclude('touch.inc');
  52. end;
  53. T.IncludePath.Add('src/nds/arm7');
  54. with T.Dependencies do
  55. begin
  56. AddInclude('audio.inc');
  57. AddInclude('clock.inc');
  58. AddInclude('i2c.inc');
  59. AddInclude('input.inc');
  60. AddInclude('sdmmc.inc');
  61. AddInclude('serial.inc');
  62. AddInclude('touch.inc');
  63. end;
  64. T.IncludePath.Add('src/nds/arm9');
  65. with T.Dependencies do
  66. begin
  67. AddInclude('background.inc');
  68. AddInclude('boxtest.inc');
  69. AddInclude('cache.inc');
  70. AddInclude('console.inc');
  71. AddInclude('decompress.inc');
  72. AddInclude('dldi.inc');
  73. AddInclude('dynamicArray.inc');
  74. AddInclude('exceptions.inc');
  75. AddInclude('guitarGrip.inc');
  76. AddInclude('image.inc');
  77. AddInclude('input.inc');
  78. AddInclude('keyboard.inc');
  79. AddInclude('linkedlist.inc');
  80. AddInclude('math.inc');
  81. AddInclude('ndsmotion.inc');
  82. AddInclude('paddle.inc');
  83. AddInclude('pcx.inc');
  84. AddInclude('piano.inc');
  85. AddInclude('postest.inc');
  86. AddInclude('rumble.inc');
  87. AddInclude('sassert.inc');
  88. AddInclude('sound.inc');
  89. AddInclude('sprite.inc');
  90. AddInclude('trig_lut.inc');
  91. AddInclude('video.inc');
  92. AddInclude('videoGL.inc');
  93. AddInclude('window.inc');
  94. end;
  95. // dswifi
  96. P.SourcePath.Add('src/dswifi');
  97. T:=P.Targets.AddUnit('dswifi9.pp');
  98. T:=P.Targets.AddUnit('dswifi7.pp');
  99. T.IncludePath.Add('src/dswifi/inc');
  100. with T.Dependencies do
  101. begin
  102. AddInclude('dswifi_version.inc');
  103. AddInclude('dswifi9.inc');
  104. AddInclude('dswifi7.inc');
  105. AddInclude('netdb.inc');
  106. AddInclude('sgIp_errno.inc');
  107. end;
  108. T.IncludePath.Add('src/dswifi/inc/netinet');
  109. T.Dependencies.AddInclude('in.inc');
  110. T.IncludePath.Add('src/dswifi/inc/sys');
  111. T.Dependencies.AddInclude('socket.inc');
  112. // fat
  113. P.SourcePath.Add('src/fat');
  114. T:=P.Targets.AddUnit('fat.pp');
  115. T.IncludePath.Add('src/fat');
  116. T.Dependencies.AddInclude('fat.inc');
  117. T:=P.Targets.AddUnit('filesystem.pp');
  118. T.IncludePath.Add('src/fat');
  119. T.Dependencies.AddInclude('filesystem.inc');
  120. // gl2d
  121. P.SourcePath.Add('src/gl2d');
  122. T:=P.Targets.AddUnit('gl2d.pp');
  123. // maxmod
  124. P.SourcePath.Add('src/maxmod');
  125. T:=P.Targets.AddUnit('maxmod9.pp');
  126. T:=P.Targets.AddUnit('maxmod7.pp');
  127. T.IncludePath.Add('src/maxmod/inc');
  128. with T.Dependencies do
  129. begin
  130. AddInclude('maxmod.inc');
  131. AddInclude('maxmod7.inc');
  132. AddInclude('maxmod9.inc');
  133. AddInclude('mm_mas.inc');
  134. AddInclude('mm_msl.inc');
  135. AddInclude('mm_types.inc');
  136. end;
  137. P.Sources.AddExampleFiles('examples/*',P.Directory,true,'.');
  138. {$ifndef ALLPACKAGES}
  139. Run;
  140. end;
  141. end.
  142. {$endif ALLPACKAGES}