fpmake.pp 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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.2.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,macosclassic,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.2.1';
  30. D:=P.Dependencies.Add('rtl-generics');
  31. P.SourcePath.Add('src');
  32. P.IncludePath.Add('src');
  33. T:=P.Targets.AddUnit('chmbase.pas');
  34. T:=P.Targets.AddUnit('chmfilewriter.pas');
  35. with T.Dependencies do
  36. begin
  37. AddUnit('chmwriter');
  38. end;
  39. T:=P.Targets.AddUnit('chmreader.pas');
  40. with T.Dependencies do
  41. begin
  42. AddUnit('chmbase');
  43. AddUnit('paslzx');
  44. end;
  45. T:=P.Targets.AddUnit('chmsitemap.pas');
  46. with T.Dependencies do
  47. begin
  48. AddUnit('fasthtmlparser');
  49. AddUnit('htmlutil');
  50. end;
  51. T:=P.Targets.AddUnit('chmspecialfiles.pas');
  52. with T.Dependencies do
  53. begin
  54. AddUnit('chmtypes');
  55. end;
  56. T:=P.Targets.AddUnit('chmtypes.pas');
  57. with T.Dependencies do
  58. begin
  59. AddUnit('chmbase');
  60. end;
  61. T:=P.Targets.AddUnit('htmlindexer.pas');
  62. with T.Dependencies do
  63. begin
  64. AddUnit('fasthtmlparser');
  65. AddUnit('htmlutil');
  66. end;
  67. T:=P.Targets.AddUnit('chmwriter.pas');
  68. with T.Dependencies do
  69. begin
  70. AddUnit('chmbase');
  71. AddUnit('chmtypes');
  72. AddUnit('chmspecialfiles');
  73. AddUnit('paslzxcomp');
  74. AddUnit('chmfiftimain');
  75. AddInclude('chmobjinstconst.inc');
  76. end;
  77. T:=P.Targets.AddUnit('lzxcompressthread.pas');
  78. with T.Dependencies do
  79. begin
  80. AddUnit('paslzxcomp');
  81. end;
  82. T:=P.Targets.AddUnit('fasthtmlparser.pas');
  83. T:=P.Targets.AddUnit('htmlutil.pas');
  84. T:=P.Targets.AddUnit('paslznonslide.pas');
  85. T:=P.Targets.AddUnit('paslzx.pas');
  86. T:=P.Targets.AddUnit('paslzxcomp.pas');
  87. with T.Dependencies do
  88. begin
  89. AddUnit('paslznonslide');
  90. end;
  91. T:=P.Targets.AddUnit('chmfiftimain.pas');
  92. with T.Dependencies do
  93. begin
  94. AddUnit('htmlindexer');
  95. end;
  96. T:=P.Targets.AddUnit('itolitlstypes.pas');
  97. T:=P.Targets.AddUnit('itsftransform.pas');
  98. with T.Dependencies do
  99. begin
  100. AddUnit('itolitlstypes');
  101. AddUnit('paslzx');
  102. end;
  103. T:=P.Targets.AddUnit('itolitlsreader.pas');
  104. with T.Dependencies do
  105. begin //chmreader, itolitlstypes, Sysutils, chmbase, itsftransform;
  106. AddUnit('chmbase');
  107. AddUnit('chmreader');
  108. AddUnit('itolitlstypes');
  109. AddUnit('itsftransform');
  110. end;
  111. // P.ProgramPath.Add('src');
  112. T:=P.Targets.AddProgram('chmls.lpr');
  113. T:=P.Targets.AddProgram('chmcmd.lpr');
  114. {$ifndef ALLPACKAGES}
  115. Run;
  116. end;
  117. end.
  118. {$endif ALLPACKAGES}