fpmake.pp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. {$ifndef ALLPACKAGES}
  2. {$mode objfpc}{$H+}
  3. program fpmake;
  4. uses fpmkunit, sysutils;
  5. {$endif ALLPACKAGES}
  6. procedure add_fpdoc(const ADirectory: string);
  7. Var
  8. P : TPackage;
  9. T : TTarget;
  10. Bin2Obj : string;
  11. begin
  12. AddCustomFpmakeCommandlineOption('bin2obj', 'Use indicated bin2obj executable.');
  13. With Installer do
  14. begin
  15. P:=AddPackage('utils-fpdoc');
  16. P.ShortName:='fpdc';
  17. P.OSes:=AllOSes-[embedded,msdos,win16,macosclassic,palmos];
  18. if Defaults.CPU=jvm then
  19. P.OSes := P.OSes - [java,android];
  20. P.Author := '<various>';
  21. P.License := 'LGPL with modification';
  22. P.HomepageURL := 'www.freepascal.org';
  23. P.Email := '';
  24. P.Description := 'Free Pascal documentation generation utility.';
  25. P.NeedLibC:= false;
  26. P.OSes:=AllOSes-[embedded,msdos,win16,go32v2,nativent,macosclassic,palmos,atari];
  27. if Defaults.CPU=jvm then
  28. P.OSes := P.OSes - [java,android];
  29. P.Dependencies.Add('fcl-base');
  30. P.Dependencies.Add('fcl-xml');
  31. P.Dependencies.Add('fcl-passrc');
  32. P.Dependencies.Add('fcl-process');
  33. P.Dependencies.Add('chm');
  34. P.Dependencies.Add('univint',[darwin,iphonesim,ios]);
  35. P.Directory:=ADirectory;
  36. P.Version:='3.2.4-rc1';
  37. P.Options.Add('-S2h');
  38. T:=P.Targets.AddProgram('fpdoc.pp');
  39. T.Dependencies.AddUnit('fpdocstrs');
  40. T.Dependencies.AddUnit('dglobals');
  41. T.Dependencies.AddUnit('dw_ipflin');
  42. T.Dependencies.AddUnit('dwriter');
  43. T.Dependencies.AddUnit('dw_xml');
  44. T.Dependencies.AddUnit('dglobals');
  45. T.Dependencies.AddUnit('sh_pas');
  46. T.Dependencies.AddUnit('dw_html');
  47. T.Dependencies.AddUnit('dw_latex');
  48. T.Dependencies.AddUnit('dwlinear');
  49. T.Dependencies.AddUnit('dw_txt');
  50. T.Dependencies.AddUnit('dw_linrtf');
  51. T.Dependencies.AddUnit('dw_basemd');
  52. T.Dependencies.AddUnit('dw_markdown');
  53. T:=P.Targets.AddProgram('makeskel.pp');
  54. T.ResourceStrings:=true;
  55. T.Dependencies.AddUnit('dglobals');
  56. T:=P.Targets.AddProgram('unitdiff.pp');
  57. T.ResourceStrings:=true;
  58. T:=P.Targets.AddProgram('fpclasschart.pp');
  59. T.ResourceStrings:=true;
  60. T := P.Targets.AddUnit('fpdocstrs.pp');
  61. T.install:=false;
  62. T.ResourceStrings:=true;
  63. T := P.Targets.AddUnit('dglobals.pp');
  64. T.install:=false;
  65. T := P.Targets.AddUnit('dwriter.pp');
  66. T.install:=false;
  67. T := P.Targets.AddUnit('fpdocxmlopts.pas');
  68. T.install:=false;
  69. P.Targets.AddUnit('dw_xml.pp').install:=false;
  70. P.Targets.AddUnit('sh_pas.pp').install:=false;
  71. P.Targets.AddUnit('dw_html.pp').install:=false;
  72. P.Targets.AddUnit('dw_basemd.pp').install:=false;
  73. P.Targets.AddUnit('dw_markdown.pp').install:=false;
  74. T:=P.Targets.AddUnit('dw_latex.pp');
  75. T.install:=false;
  76. P.Targets.AddUnit('dw_txt.pp').install:=false;
  77. P.Targets.AddUnit('dw_man.pp').install:=false;
  78. P.Targets.AddUnit('dwlinear.pp').install:=false;
  79. P.Targets.AddUnit('dw_linrtf.pp').install:=false;
  80. P.Targets.AddUnit('dw_dxml.pp').install:=false;
  81. P.Targets.AddUnit('fpdocproj.pas').install:=false;
  82. P.Targets.AddUnit('fpdocclasstree.pp').install:=false;
  83. P.Targets.AddUnit('mkfpdoc.pp').install:=false;
  84. P.Targets.AddUnit('dw_ipflin.pas').install:=false;
  85. Bin2Obj := GetCustomFpmakeCommandlineOptionValue('bin2obj');
  86. if Bin2Obj<>'' then
  87. Bin2Obj:= ExpandFileName(Bin2Obj);
  88. if Bin2Obj='' then
  89. Bin2Obj := ExeSearch(AddProgramExtension('bin2obj', Defaults.BuildOS));
  90. if Bin2Obj <> '' then
  91. begin
  92. P.Commands.AddCommand(Bin2Obj,'-o $(DEST) -c DefaultCSS $(SOURCE)','css.inc','fpdoc.css');
  93. P.Commands.AddCommand(Bin2Obj,'-o $(DEST) -c PlusImageData $(SOURCE)','plusimage.inc','images/plus.png');
  94. P.Commands.AddCommand(Bin2Obj,'-o $(DEST) -c MinusImageData $(SOURCE)','minusimage.inc','images/minus.png');
  95. end;
  96. end;
  97. end;
  98. {$ifndef ALLPACKAGES}
  99. begin
  100. add_fpdoc('');
  101. Installer.Run;
  102. end.
  103. {$endif ALLPACKAGES}