- foreach $d (&deps("X.o", undef, $dirpfx, "/", "gtk")) {
- if ($forceobj{$d->{obj_orig}}) {
- printf("%s: FORCE\n", $d->{obj});
- } else {
- print &splitline(sprintf("%s: %s", $d->{obj},
- join " ", @{$d->{deps}})), "\n";
+ @allprogs = @cliprogs;
+ foreach $p (&prognames("X")) {
+ ($prog, $type) = split ",", $p;
+ push @allprogs, $prog;
+ }
+ print "if HAVE_GTK\n";
+ print &splitline(join " ", @allprogs), "\n";
+ print "else\n";
+ print &splitline(join " ", @cliprogs), "\n";
+ print "endif\n\n";
+
+ %objtosrc = ();
+ foreach $d (&deps("X", undef, $dirpfx, "/", "am")) {
+ $objtosrc{$d->{obj}} = $d->{deps}->[0];
+ }
+
+ print &splitline(join " ", "AM_CPPFLAGS", "=",
+ map {"-I$dirpfx$_"} @srcdirs), "\n";
+
+ @amcflags = ("\$(COMPAT)", "\$(XFLAGS)", "\$(WARNINGOPTS)");
+ print "if HAVE_GTK\n";
+ print &splitline(join " ", "AM_CFLAGS", "=",
+ "\$(GTK_CFLAGS)", @amcflags), "\n";
+ print "else\n";
+ print &splitline(join " ", "AM_CFLAGS", "=", @amcflags), "\n";
+ print "endif\n\n";
+
+ %amspeciallibs = ();
+ foreach $obj (sort { $a cmp $b } keys %{$cflags{'am'}}) {
+ print "lib${obj}_a_SOURCES = ", $objtosrc{$obj}, "\n";
+ print &splitline(join " ", "lib${obj}_a_CFLAGS", "=", @amcflags,
+ $cflags{'am'}->{$obj}), "\n";
+ $amspeciallibs{$obj} = "lib${obj}.a";
+ }
+ print &splitline(join " ", "noinst_LIBRARIES", "=",
+ sort { $a cmp $b } values %amspeciallibs), "\n\n";
+
+ foreach $p (&prognames("X:U")) {
+ ($prog, $type) = split ",", $p;
+ print "if HAVE_GTK\n" if $type eq "X";
+ @progsources = ("${prog}_SOURCES", "=");
+ %sourcefiles = ();
+ @ldadd = ();
+ $objstr = &objects($p, "X", undef, undef);
+ foreach $obj (split / /,$objstr) {
+ if ($amspeciallibs{$obj}) {
+ push @ldadd, $amspeciallibs{$obj};
+ } else {
+ $sourcefiles{$objtosrc{$obj}} = 1;
+ }