зеркало из https://github.com/github/putty.git
Add a 'unix' Makefile type, for building the non-GUI parts of the
PuTTY suite on non-GTK-enabled build platforms. [originally from svn r8577]
This commit is contained in:
Родитель
4c0b7ba7e4
Коммит
f8a260d59f
1
Recipe
1
Recipe
|
@ -18,6 +18,7 @@
|
||||||
!makefile borland windows/Makefile.bor
|
!makefile borland windows/Makefile.bor
|
||||||
!makefile lcc windows/Makefile.lcc
|
!makefile lcc windows/Makefile.lcc
|
||||||
!makefile gtk unix/Makefile.gtk
|
!makefile gtk unix/Makefile.gtk
|
||||||
|
!makefile unix unix/Makefile.ux
|
||||||
!makefile ac unix/Makefile.in
|
!makefile ac unix/Makefile.in
|
||||||
!makefile mpw mac/Makefile.mpw
|
!makefile mpw mac/Makefile.mpw
|
||||||
!makefile osx macosx/Makefile
|
!makefile osx macosx/Makefile
|
||||||
|
|
77
mkfiles.pl
77
mkfiles.pl
|
@ -215,8 +215,8 @@ sub mfval($) {
|
||||||
# Returns true if the argument is a known makefile type. Otherwise,
|
# Returns true if the argument is a known makefile type. Otherwise,
|
||||||
# prints a warning and returns false;
|
# prints a warning and returns false;
|
||||||
if (grep { $type eq $_ }
|
if (grep { $type eq $_ }
|
||||||
("vc","vcproj","cygwin","borland","lcc","devcppproj","gtk","ac","mpw",
|
("vc","vcproj","cygwin","borland","lcc","devcppproj","gtk","unix",
|
||||||
"osx",)) {
|
"ac","mpw","osx",)) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
warn "$.:unknown makefile type '$type'\n";
|
warn "$.:unknown makefile type '$type'\n";
|
||||||
|
@ -989,6 +989,79 @@ if (defined $makefiles{'gtk'}) {
|
||||||
select STDOUT; close OUT;
|
select STDOUT; close OUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (defined $makefiles{'unix'}) {
|
||||||
|
$dirpfx = &dirpfx($makefiles{'unix'}, "/");
|
||||||
|
|
||||||
|
##-- GTK-free pure-Unix makefile for non-GUI apps only
|
||||||
|
open OUT, ">$makefiles{'unix'}"; select OUT;
|
||||||
|
print
|
||||||
|
"# Makefile for $project_name under Unix.\n".
|
||||||
|
"#\n# This file was created by `mkfiles.pl' from the `Recipe' file.\n".
|
||||||
|
"# DO NOT EDIT THIS FILE DIRECTLY; edit Recipe or mkfiles.pl instead.\n";
|
||||||
|
# gcc command line option is -D not /D
|
||||||
|
($_ = $help) =~ s/([=" ])\/D/\1-D/gs;
|
||||||
|
print $_;
|
||||||
|
print
|
||||||
|
"\n".
|
||||||
|
"# You can define this path to point at your tools if you need to\n".
|
||||||
|
"# TOOLPATH = /opt/gcc/bin\n".
|
||||||
|
"CC = \$(TOOLPATH)cc\n".
|
||||||
|
"# If necessary set the path to krb5-config here\n".
|
||||||
|
"KRB5CONFIG=krb5-config\n".
|
||||||
|
"\n".
|
||||||
|
"-include Makefile.local\n".
|
||||||
|
"\n".
|
||||||
|
"unexport CFLAGS # work around a weird issue with krb5-config\n".
|
||||||
|
"\n".
|
||||||
|
&splitline("CFLAGS = -O2 -Wall -Werror -g " .
|
||||||
|
(join " ", map {"-I$dirpfx$_"} @srcdirs)).
|
||||||
|
" -D _FILE_OFFSET_BITS=64\n".
|
||||||
|
"ULDFLAGS = \$(LDFLAGS)\n".
|
||||||
|
"ifeq (,\$(findstring NO_GSSAPI,\$(COMPAT)))\n".
|
||||||
|
"CFLAGS+= \$(shell \$(KRB5CONFIG) --cflags gssapi)\n".
|
||||||
|
"ULDFLAGS = \$(shell \$(KRB5CONFIG) --libs gssapi)\n".
|
||||||
|
"endif\n".
|
||||||
|
"INSTALL=install\n".
|
||||||
|
"INSTALL_PROGRAM=\$(INSTALL)\n".
|
||||||
|
"INSTALL_DATA=\$(INSTALL)\n".
|
||||||
|
"prefix=/usr/local\n".
|
||||||
|
"exec_prefix=\$(prefix)\n".
|
||||||
|
"bindir=\$(exec_prefix)/bin\n".
|
||||||
|
"mandir=\$(prefix)/man\n".
|
||||||
|
"man1dir=\$(mandir)/man1\n".
|
||||||
|
"\n".
|
||||||
|
$makefile_extra{'unix'}->{'vars'} .
|
||||||
|
"\n".
|
||||||
|
".SUFFIXES:\n".
|
||||||
|
"\n".
|
||||||
|
"\n";
|
||||||
|
print &splitline("all:" . join "", map { " $_" } &progrealnames("U"));
|
||||||
|
print "\n\n";
|
||||||
|
foreach $p (&prognames("U")) {
|
||||||
|
($prog, $type) = split ",", $p;
|
||||||
|
$objstr = &objects($p, "X.o", undef, undef);
|
||||||
|
print &splitline($prog . ": " . $objstr), "\n";
|
||||||
|
$libstr = &objects($p, undef, undef, "-lX");
|
||||||
|
print &splitline("\t\$(CC)" . $mw . " -o \$@ " .
|
||||||
|
$objstr . " \$(${type}LDFLAGS) $libstr", 69), "\n\n";
|
||||||
|
}
|
||||||
|
foreach $d (&deps("X.o", undef, $dirpfx, "/", "unix")) {
|
||||||
|
if ($forceobj{$d->{obj_orig}}) {
|
||||||
|
printf("%s: FORCE\n", $d->{obj});
|
||||||
|
} else {
|
||||||
|
print &splitline(sprintf("%s: %s", $d->{obj},
|
||||||
|
join " ", @{$d->{deps}})), "\n";
|
||||||
|
}
|
||||||
|
print &splitline("\t\$(CC) \$(COMPAT) \$(CFLAGS) \$(XFLAGS) -c $d->{deps}->[0]\n");
|
||||||
|
}
|
||||||
|
print "\n";
|
||||||
|
print $makefile_extra{'unix'}->{'end'};
|
||||||
|
print "\nclean:\n".
|
||||||
|
"\trm -f *.o". (join "", map { " $_" } &progrealnames("U")) . "\n";
|
||||||
|
print "\nFORCE:\n";
|
||||||
|
select STDOUT; close OUT;
|
||||||
|
}
|
||||||
|
|
||||||
if (defined $makefiles{'ac'}) {
|
if (defined $makefiles{'ac'}) {
|
||||||
$dirpfx = &dirpfx($makefiles{'ac'}, "/");
|
$dirpfx = &dirpfx($makefiles{'ac'}, "/");
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче