fpmake.pp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit;
  5. Var
  6. P : TPackage;
  7. T : TTarget;
  8. D : TDependency;
  9. begin
  10. With Installer do
  11. begin
  12. {$endif ALLPACKAGES}
  13. P:=AddPackage('chm');
  14. {$ifdef ALLPACKAGES}
  15. P.Directory:=ADirectory;
  16. {$endif ALLPACKAGES}
  17. P.Version:='3.3.1';
  18. P.Author := 'Andrew Haines';
  19. P.License := 'LGPL with modification, ';
  20. P.HomepageURL := 'www.freepascal.org';
  21. P.Email := '';
  22. P.Description := 'Standalone CHM reader and writer library';
  23. P.NeedLibC:= false;
  24. P.OSes := P.OSes - [embedded,nativent,msdos,win16,macos,palmos,atari];
  25. if Defaults.CPU=jvm then
  26. P.OSes := P.OSes - [java,android];
  27. D:=P.Dependencies.Add('fcl-xml');
  28. D:=P.Dependencies.Add('fcl-base');
  29. D.Version:='3.3.1';
  30. P.SourcePath.Add('src');
  31. P.IncludePath.Add('src');
  32. T:=P.Targets.AddUnit('chmbase.pas');
  33. T:=P.Targets.AddUnit('chmfilewriter.pas');
  34. with T.Dependencies do
  35. begin
  36. AddUnit('chmwriter');
  37. end;
  38. T:=P.Targets.AddUnit('chmreader.pas');
  39. with T.Dependencies do
  40. begin
  41. AddUnit('chmbase');
  42. AddUnit('paslzx');
  43. end;
  44. T:=P.Targets.AddUnit('chmsitemap.pas');
  45. with T.Dependencies do
  46. begin
  47. AddUnit('fasthtmlparser');
  48. AddUnit('htmlutil');
  49. end;
  50. T:=P.Targets.AddUnit('chmspecialfiles.pas');
  51. with T.Dependencies do
  52. begin
  53. AddUnit('chmtypes');
  54. end;
  55. T:=P.Targets.AddUnit('chmtypes.pas');
  56. with T.Dependencies do
  57. begin
  58. AddUnit('chmbase');
  59. end;
  60. T:=P.Targets.AddUnit('htmlindexer.pas');
  61. with T.Dependencies do
  62. begin
  63. AddUnit('fasthtmlparser');
  64. AddUnit('htmlutil');
  65. end;
  66. T:=P.Targets.AddUnit('chmwriter.pas');
  67. with T.Dependencies do
  68. begin
  69. AddUnit('chmbase');
  70. AddUnit('chmtypes');
  71. AddUnit('chmspecialfiles');
  72. AddUnit('paslzxcomp');
  73. AddUnit('chmfiftimain');
  74. AddInclude('chmobjinstconst.inc');
  75. end;
  76. T:=P.Targets.AddUnit('lzxcompressthread.pas');
  77. with T.Dependencies do
  78. begin
  79. AddUnit('paslzxcomp');
  80. end;
  81. T:=P.Targets.AddUnit('fasthtmlparser.pas');
  82. T:=P.Targets.AddUnit('htmlutil.pas');
  83. T:=P.Targets.AddUnit('paslznonslide.pas');
  84. T:=P.Targets.AddUnit('paslzx.pas');
  85. T:=P.Targets.AddUnit('paslzxcomp.pas');
  86. with T.Dependencies do
  87. begin
  88. AddUnit('paslznonslide');
  89. end;
  90. T:=P.Targets.AddUnit('chmfiftimain.pas');
  91. with T.Dependencies do
  92. begin
  93. AddUnit('htmlindexer');
  94. end;
  95. T:=P.Targets.AddUnit('itolitlstypes.pas');
  96. T:=P.Targets.AddUnit('itsftransform.pas');
  97. with T.Dependencies do
  98. begin
  99. AddUnit('itolitlstypes');
  100. AddUnit('paslzx');
  101. end;
  102. T:=P.Targets.AddUnit('itolitlsreader.pas');
  103. with T.Dependencies do
  104. begin //chmreader, itolitlstypes, Sysutils, chmbase, itsftransform;
  105. AddUnit('chmbase');
  106. AddUnit('chmreader');
  107. AddUnit('itolitlstypes');
  108. AddUnit('itsftransform');
  109. end;
  110. // P.ProgramPath.Add('src');
  111. T:=P.Targets.AddProgram('chmls.lpr');
  112. T:=P.Targets.AddProgram('chmcmd.lpr');
  113. {$ifndef ALLPACKAGES}
  114. Run;
  115. end;
  116. end.
  117. {$endif ALLPACKAGES}