Support building man pages outside of the source directory.
This commit is contained in:
parent
2c7a248055
commit
a83c19f48c
@ -67,13 +67,13 @@ $(MAINSPEC).c: $(MAINSPEC) $(ALL_OBJS)
|
|||||||
# Rules for auto documentation
|
# Rules for auto documentation
|
||||||
|
|
||||||
man: $(C_SRCS)
|
man: $(C_SRCS)
|
||||||
$(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
$(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -C$(SRCDIR) -S$(api_manext) $(INCLUDES) $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
||||||
|
|
||||||
doc-html: $(C_SRCS)
|
doc-html: $(C_SRCS)
|
||||||
$(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPSRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
$(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
||||||
|
|
||||||
doc-sgml: $(C_SRCS)
|
doc-sgml: $(C_SRCS)
|
||||||
$(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPSRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
$(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) -C$(SRCDIR) $(INCLUDES) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS16:%=-w %) $(C_SRCS) $(C_SRCS16)
|
||||||
|
|
||||||
.PHONY: man doc-html doc-sgml
|
.PHONY: man doc-html doc-sgml
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ my $FLAG_64PAIR = 64; # The 64 bit version of a matching 32 bit function
|
|||||||
# Options
|
# Options
|
||||||
my $opt_output_directory = "man3w"; # All default options are for nroff (man pages)
|
my $opt_output_directory = "man3w"; # All default options are for nroff (man pages)
|
||||||
my $opt_manual_section = "3w";
|
my $opt_manual_section = "3w";
|
||||||
|
my $opt_source_dir = "";
|
||||||
my $opt_wine_root_dir = "";
|
my $opt_wine_root_dir = "";
|
||||||
my $opt_output_format = ""; # '' = nroff, 'h' = html, 's' = sgml
|
my $opt_output_format = ""; # '' = nroff, 'h' = html, 's' = sgml
|
||||||
my $opt_output_empty = 0; # Non-zero = Create 'empty' comments (for every implemented function)
|
my $opt_output_empty = 0; # Non-zero = Create 'empty' comments (for every implemented function)
|
||||||
@ -120,7 +121,10 @@ sub process_spec_file($)
|
|||||||
|
|
||||||
# We allow opening to fail just to cater for the peculiarities of
|
# We allow opening to fail just to cater for the peculiarities of
|
||||||
# the Wine build system. This doesn't hurt, in any case
|
# the Wine build system. This doesn't hurt, in any case
|
||||||
open(SPEC_FILE, "<$spec_name") || return;
|
open(SPEC_FILE, "<$spec_name")
|
||||||
|
|| (($opt_source_dir ne "")
|
||||||
|
&& open(SPEC_FILE, "<$opt_source_dir/$spec_name"))
|
||||||
|
|| return;
|
||||||
|
|
||||||
while(<SPEC_FILE>)
|
while(<SPEC_FILE>)
|
||||||
{
|
{
|
||||||
@ -236,7 +240,10 @@ sub process_source_file($)
|
|||||||
{
|
{
|
||||||
print "Processing ".$source_file."\n";
|
print "Processing ".$source_file."\n";
|
||||||
}
|
}
|
||||||
open(SOURCE_FILE,"<$source_file") || die "couldn't open ".$source_file."\n";
|
open(SOURCE_FILE,"<$source_file")
|
||||||
|
|| (($opt_source_dir ne "")
|
||||||
|
&& open(SOURCE_FILE,"<$opt_source_dir/$source_file"))
|
||||||
|
|| die "couldn't open ".$source_file."\n";
|
||||||
|
|
||||||
# Add this source file to the list of source files
|
# Add this source file to the list of source files
|
||||||
$source_files{$source_file} = [$source_details];
|
$source_files{$source_file} = [$source_details];
|
||||||
@ -2115,6 +2122,9 @@ sub usage()
|
|||||||
"Options:\n",
|
"Options:\n",
|
||||||
" -Th : Output HTML instead of a man page\n",
|
" -Th : Output HTML instead of a man page\n",
|
||||||
" -Ts : Output SGML (Docbook source) instead of a man page\n",
|
" -Ts : Output SGML (Docbook source) instead of a man page\n",
|
||||||
|
" -C <dir> : Source directory, to find source files if they are not found in the\n",
|
||||||
|
" current directory. Default is \"",$opt_source_dir,"\"\n",
|
||||||
|
" -R <dir> : Root of build directory, default is \"",$opt_wine_root_dir,"\"\n",
|
||||||
" -o <dir> : Create output in <dir>, default is \"",$opt_output_directory,"\"\n",
|
" -o <dir> : Create output in <dir>, default is \"",$opt_output_directory,"\"\n",
|
||||||
" -s <sect>: Set manual section to <sect>, default is ",$opt_manual_section,"\n",
|
" -s <sect>: Set manual section to <sect>, default is ",$opt_manual_section,"\n",
|
||||||
" -e : Output \"FIXME\" documentation from empty comments.\n",
|
" -e : Output \"FIXME\" documentation from empty comments.\n",
|
||||||
@ -2156,6 +2166,10 @@ while(defined($_ = shift @ARGV))
|
|||||||
}
|
}
|
||||||
last;
|
last;
|
||||||
};
|
};
|
||||||
|
s/^C// && do {
|
||||||
|
if ($_ ne "") { $opt_source_dir = $_; }
|
||||||
|
last;
|
||||||
|
};
|
||||||
s/^R// && do { if ($_ =~ /^\//) { $opt_wine_root_dir = $_; }
|
s/^R// && do { if ($_ =~ /^\//) { $opt_wine_root_dir = $_; }
|
||||||
else { $opt_wine_root_dir = `cd $pwd/$_ && pwd`; }
|
else { $opt_wine_root_dir = `cd $pwd/$_ && pwd`; }
|
||||||
$opt_wine_root_dir =~ s/\n//;
|
$opt_wine_root_dir =~ s/\n//;
|
||||||
@ -2182,6 +2196,7 @@ if ($opt_verbose > 3)
|
|||||||
print "Output dir:'".$opt_output_directory."'\n";
|
print "Output dir:'".$opt_output_directory."'\n";
|
||||||
print "Section :'".$opt_manual_section."'\n";
|
print "Section :'".$opt_manual_section."'\n";
|
||||||
print "Format :'".$opt_output_format."'\n";
|
print "Format :'".$opt_output_format."'\n";
|
||||||
|
print "Source dir:'".$opt_source_dir."'\n";
|
||||||
print "Root :'".$opt_wine_root_dir."'\n";
|
print "Root :'".$opt_wine_root_dir."'\n";
|
||||||
print "Spec files:'@opt_spec_file_list'\n";
|
print "Spec files:'@opt_spec_file_list'\n";
|
||||||
print "Includes :'@opt_header_file_list'\n";
|
print "Includes :'@opt_header_file_list'\n";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user