fpmake.pp 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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:='2.7.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('memory.inc');
  44. AddInclude('nds.inc');
  45. AddInclude('ndsinclude.inc');
  46. AddInclude('ndstypes.inc');
  47. AddInclude('registers_alt.inc');
  48. AddInclude('system.inc');
  49. AddInclude('timers.inc');
  50. AddInclude('touch.inc');
  51. end;
  52. T.IncludePath.Add('src/nds/arm7');
  53. with T.Dependencies do
  54. begin
  55. AddInclude('audio.inc');
  56. AddInclude('clock.inc');
  57. AddInclude('i2c.inc');
  58. AddInclude('input.inc');
  59. AddInclude('sdmmc.inc');
  60. AddInclude('serial.inc');
  61. AddInclude('touch.inc');
  62. end;
  63. T.IncludePath.Add('src/nds/arm9');
  64. with T.Dependencies do
  65. begin
  66. AddInclude('background.inc');
  67. AddInclude('boxtest.inc');
  68. AddInclude('cache.inc');
  69. AddInclude('console.inc');
  70. AddInclude('decompress.inc');
  71. AddInclude('dldi.inc');
  72. AddInclude('dynamicArray.inc');
  73. AddInclude('exceptions.inc');
  74. AddInclude('guitarGrip.inc');
  75. AddInclude('image.inc');
  76. AddInclude('input.inc');
  77. AddInclude('keyboard.inc');
  78. AddInclude('linkedlist.inc');
  79. AddInclude('math.inc');
  80. AddInclude('ndsmotion.inc');
  81. AddInclude('paddle.inc');
  82. AddInclude('pcx.inc');
  83. AddInclude('piano.inc');
  84. AddInclude('postest.inc');
  85. AddInclude('rumble.inc');
  86. AddInclude('sassert.inc');
  87. AddInclude('sound.inc');
  88. AddInclude('sprite.inc');
  89. AddInclude('trig_lut.inc');
  90. AddInclude('video.inc');
  91. AddInclude('videoGL.inc');
  92. end;
  93. // dswifi
  94. P.SourcePath.Add('src/dswifi');
  95. T:=P.Targets.AddUnit('dswifi9.pp');
  96. T:=P.Targets.AddUnit('dswifi7.pp');
  97. T.IncludePath.Add('src/dswifi/inc');
  98. with T.Dependencies do
  99. begin
  100. AddInclude('dswifi_version.inc');
  101. AddInclude('dswifi9.inc');
  102. AddInclude('dswifi7.inc');
  103. AddInclude('netdb.inc');
  104. AddInclude('sgIp_errno.inc');
  105. end;
  106. T.IncludePath.Add('src/dswifi/inc/netinet');
  107. T.Dependencies.AddInclude('in.inc');
  108. T.IncludePath.Add('src/dswifi/inc/sys');
  109. T.Dependencies.AddInclude('socket.inc');
  110. // fat
  111. P.SourcePath.Add('src/fat');
  112. T:=P.Targets.AddUnit('fat.pp');
  113. T.IncludePath.Add('src/fat');
  114. T.Dependencies.AddInclude('fat.inc');
  115. T:=P.Targets.AddUnit('filesystem.pp');
  116. T.IncludePath.Add('src/fat');
  117. T.Dependencies.AddInclude('filesystem.inc');
  118. // gl2d
  119. P.SourcePath.Add('src/gl2d');
  120. T:=P.Targets.AddUnit('gl2d.pp');
  121. // maxmod
  122. P.SourcePath.Add('src/maxmod');
  123. T:=P.Targets.AddUnit('maxmod9.pp');
  124. T:=P.Targets.AddUnit('maxmod7.pp');
  125. T.IncludePath.Add('src/maxmod/inc');
  126. with T.Dependencies do
  127. begin
  128. AddInclude('maxmod.inc');
  129. AddInclude('maxmod7.inc');
  130. AddInclude('maxmod9.inc');
  131. AddInclude('mm_mas.inc');
  132. AddInclude('mm_msl.inc');
  133. AddInclude('mm_types.inc');
  134. end;
  135. P.Sources.AddExampleFiles('examples/*',true,'.');
  136. {$ifndef ALLPACKAGES}
  137. Run;
  138. end;
  139. end.
  140. {$endif ALLPACKAGES}