Knowledge

Automake

Source 📝

389: 632: 193: 127: 77: 288: 27: 324:
information, so that when a source file is modified, the next invocation of the make command will know which source files need to be recompiled. If the compiler allows it, Automake tries to make the dependency system dynamic: whenever a source file is compiled, that file's dependencies are updated by
295:
Automake aims to allow the programmer to write a makefile in a higher-level language, rather than having to write the whole makefile manually. In simple cases, it suffices to give:
328:
This attempts to avoid the problem with some static dependency systems, where the dependencies are detected only once when the programmer starts working on the project.
1065: 325:
asking the compiler to regenerate the file's dependency list. In other words, dependency tracking is a side effect of the compilation process.
1519: 909: 547: 735: 213:
to automate parts of the compilation process. It eases usual compilation problems. For example, it points to needed dependencies.
1529: 728: 1514: 783: 394: 773: 768: 723: 606: 149: 523: 718: 644: 1103: 778: 1524: 685: 1053: 100: 1357: 1252: 1163: 321: 68: 751: 166: 1504: 428: 1509: 899: 713: 462: 256: 76: 377:. For example, a project created with automake 1.13 will not necessarily work with automake 1.14. 1292: 1206: 844: 363: 483: 1451: 1352: 1012: 904: 1027: 756: 452: 228:
contains, among other things, useful variable definitions for the compiled software, such as
1272: 1257: 1158: 979: 241: 202: 8: 1405: 1186: 1070: 914: 503: 374: 126: 631: 192: 1426: 1173: 1096: 1002: 834: 829: 761: 313: 233: 1400: 1191: 1022: 929: 824: 678: 602: 420: 1390: 1302: 1231: 1221: 1037: 969: 402: 268: 245: 210: 161: 154: 137: 362:, however, is a general-purpose program that can be useful to autoconf users. The 1475: 1312: 1131: 1007: 997: 874: 648: 407: 109: 316:(which libraries the program needs and in what directories they are to be found) 1436: 1017: 919: 142: 1498: 1482: 1461: 1446: 1431: 1395: 1089: 1059: 839: 708: 653: 571: 287: 1317: 1297: 1216: 1136: 1032: 854: 849: 803: 671: 341: 1456: 1441: 1211: 1201: 1153: 884: 814: 694: 625: 177: 39: 1421: 1367: 944: 938: 889: 34: 658: 637: 271:. It is used to build several GNU applications and libraries, such as 1282: 1141: 964: 894: 879: 26: 1277: 1267: 1196: 974: 954: 934: 859: 809: 306: 276: 249: 240:"s are portable and compliant with the Makefile conventions in the 229: 1326: 1287: 1262: 1181: 864: 1372: 1362: 1336: 1331: 1247: 959: 949: 924: 663: 309:(for example, in which directories header files will be found) 1322: 819: 16:
Programming tool to automate parts of the compilation process
236:
flags, dependencies and their versions, etc. The generated "
1307: 1226: 1146: 1126: 1112: 869: 337: 799: 457: 320:
Automake also takes care of automatically generating the
272: 264: 1081: 597:
Vaughan, Gary V.; Elliston, Ben; Tromey, Tom (2000).
596: 299:
A line that declares the name of the program to build
384: 312:A list of command-line options to be passed to the 305:A list of command-line options to be passed to the 524:"Automake Manual -- Automatic Dependency Tracking" 1496: 1066:Free Software Foundation anti-Windows campaigns 1097: 679: 447: 445: 426: 344:. Automake contains the following commands: 1104: 1090: 686: 672: 630: 370:even though its makefile is hand written. 191: 125: 75: 654:Combined manual for Automake and Autoconf 442: 429:"automake-1.17 released [stable]" 373:Like Autoconf, Automake is not entirely 286: 216:It automatically generates one or more 1497: 275:, as well as non-GNU software such as 1085: 667: 291:Flow diagram of autoconf and automake 784:GNAT Modified General Public License 395:Free and open-source software portal 599:GNU Autoconf, Automake, and Libtool 13: 14: 1541: 774:GNU Affero General Public License 769:GNU Lesser General Public License 617: 1520:Free software programmed in Perl 387: 25: 693: 1530:Software using the GPL license 779:GNU Free Documentation License 572:"Re: "make distclean" broken?" 564: 540: 516: 504:"XCircuit Compile and Install" 496: 484:"Compiling the GTK+ libraries" 476: 1: 427:Jim Meyering (11 July 2024). 413: 267:programs, and as part of the 1515:Cross-platform free software 1054:GNU/Linux naming controversy 7: 380: 10: 1546: 752:GNU General Public License 589: 282: 167:GNU General Public License 1470: 1414: 1383: 1345: 1240: 1172: 1119: 1046: 990: 792: 744: 701: 366:(GCC), for example, uses 331: 172: 160: 148: 136: 99: 95: 67: 63: 45: 33: 24: 1111: 736:History of free software 714:Free Software Foundation 463:Free Software Foundation 257:Free Software Foundation 364:GNU Compiler Collection 336:Automake is written in 340:and must be used with 302:A list of source files 292: 248:to generate a working 82:; 2 months ago 51:; 28 years ago 659:Autotoolset home page 290: 244:, and may be used by 1525:GNU Project software 242:GNU Coding Standards 203:software development 1406:Perl Best Practices 1071:Defective by Design 1038:Richard M. Stallman 375:backward compatible 21: 1427:Randal L. Schwartz 1003:Benjamin Mako Hill 647:2010-12-20 at the 638:Online version of 548:"Automake History" 293: 220:from files called 19: 1492: 1491: 1401:Intermediate Perl 1079: 1078: 1023:Georg C. F. Greve 930:GNU Privacy Guard 757:linking exception 246:configure scripts 199: 198: 49:May 28, 1996 1537: 1505:Build automation 1391:Programming Perl 1232:Template Toolkit 1106: 1099: 1092: 1083: 1082: 688: 681: 674: 665: 664: 634: 629: 628: 626:Official website 612: 583: 582: 580: 579: 568: 562: 561: 559: 558: 544: 538: 537: 535: 534: 520: 514: 513: 511: 510: 500: 494: 493: 491: 490: 480: 474: 473: 471: 470: 449: 440: 439: 437: 435: 424: 403:configure script 397: 392: 391: 390: 269:GNU build system 262: 211:programming tool 195: 190: 187: 185: 183: 181: 179: 155:Programming tool 138:Operating system 129: 124: 121: 119: 117: 115: 113: 111: 90: 88: 83: 79: 59: 57: 52: 29: 22: 18: 1545: 1544: 1540: 1539: 1538: 1536: 1535: 1534: 1510:Compiling tools 1495: 1494: 1493: 1488: 1466: 1410: 1379: 1341: 1313:Request Tracker 1236: 1168: 1132:Perl Foundation 1115: 1110: 1080: 1075: 1042: 1008:Bradley M. Kuhn 998:Alexandre Oliva 986: 788: 740: 697: 692: 649:Wayback Machine 624: 623: 620: 615: 609: 592: 587: 586: 577: 575: 570: 569: 565: 556: 554: 546: 545: 541: 532: 530: 522: 521: 517: 508: 506: 502: 501: 497: 488: 486: 482: 481: 477: 468: 466: 451: 450: 443: 433: 431: 425: 421: 416: 408:Make (software) 393: 388: 386: 383: 334: 285: 260: 176: 132: 108: 91: 86: 84: 81: 55: 53: 50: 46:Initial release 17: 12: 11: 5: 1543: 1533: 1532: 1527: 1522: 1517: 1512: 1507: 1490: 1489: 1487: 1486: 1479: 1471: 1468: 1467: 1465: 1464: 1459: 1454: 1449: 1444: 1439: 1437:Allison Randal 1434: 1429: 1424: 1418: 1416: 1412: 1411: 1409: 1408: 1403: 1398: 1393: 1387: 1385: 1381: 1380: 1378: 1377: 1376: 1375: 1370: 1365: 1355: 1349: 1347: 1343: 1342: 1340: 1339: 1334: 1329: 1320: 1315: 1310: 1305: 1300: 1295: 1290: 1285: 1280: 1275: 1270: 1265: 1260: 1255: 1250: 1244: 1242: 1238: 1237: 1235: 1234: 1229: 1224: 1219: 1214: 1209: 1204: 1199: 1194: 1189: 1184: 1178: 1176: 1170: 1169: 1167: 1166: 1161: 1156: 1151: 1150: 1149: 1144: 1139: 1129: 1123: 1121: 1117: 1116: 1109: 1108: 1101: 1094: 1086: 1077: 1076: 1074: 1073: 1068: 1063: 1056: 1050: 1048: 1044: 1043: 1041: 1040: 1035: 1030: 1025: 1020: 1018:Federico Heinz 1015: 1010: 1005: 1000: 994: 992: 988: 987: 985: 984: 977: 972: 967: 962: 957: 952: 947: 942: 932: 927: 922: 920:GNU Archimedes 917: 912: 907: 902: 897: 892: 887: 882: 877: 872: 867: 862: 857: 852: 847: 842: 837: 832: 827: 822: 817: 812: 807: 796: 794: 790: 789: 787: 786: 781: 776: 771: 766: 765: 764: 762:font exception 759: 748: 746: 742: 741: 739: 738: 733: 732: 731: 726: 721: 711: 705: 703: 699: 698: 691: 690: 683: 676: 668: 662: 661: 656: 651: 635: 619: 618:External links 616: 614: 613: 607: 593: 591: 588: 585: 584: 563: 539: 515: 495: 475: 453:"GNU Automake" 441: 418: 417: 415: 412: 411: 410: 405: 399: 398: 382: 379: 357: 356: 351: 333: 330: 318: 317: 310: 303: 300: 284: 281: 263:as one of the 197: 196: 174: 170: 169: 164: 158: 157: 152: 146: 145: 143:Cross-platform 140: 134: 133: 131: 130: 105: 103: 97: 96: 93: 92: 80:/ 11 July 2024 73: 71: 69:Stable release 65: 64: 61: 60: 47: 43: 42: 37: 31: 30: 15: 9: 6: 4: 3: 2: 1542: 1531: 1528: 1526: 1523: 1521: 1518: 1516: 1513: 1511: 1508: 1506: 1503: 1502: 1500: 1485: 1484: 1480: 1478: 1477: 1473: 1472: 1469: 1463: 1462:Jesse Vincent 1460: 1458: 1455: 1453: 1450: 1448: 1447:Sean M. Burke 1445: 1443: 1440: 1438: 1435: 1433: 1432:Damian Conway 1430: 1428: 1425: 1423: 1420: 1419: 1417: 1413: 1407: 1404: 1402: 1399: 1397: 1396:Learning Perl 1394: 1392: 1389: 1388: 1386: 1382: 1374: 1371: 1369: 1366: 1364: 1361: 1360: 1359: 1356: 1354: 1351: 1350: 1348: 1344: 1338: 1335: 1333: 1330: 1328: 1324: 1321: 1319: 1316: 1314: 1311: 1309: 1306: 1304: 1301: 1299: 1296: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1269: 1266: 1264: 1261: 1259: 1256: 1254: 1251: 1249: 1246: 1245: 1243: 1239: 1233: 1230: 1228: 1225: 1223: 1220: 1218: 1215: 1213: 1210: 1208: 1205: 1203: 1200: 1198: 1195: 1193: 1190: 1188: 1185: 1183: 1180: 1179: 1177: 1175: 1171: 1165: 1162: 1160: 1157: 1155: 1152: 1148: 1145: 1143: 1140: 1138: 1135: 1134: 1133: 1130: 1128: 1125: 1124: 1122: 1118: 1114: 1107: 1102: 1100: 1095: 1093: 1088: 1087: 1084: 1072: 1069: 1067: 1064: 1062: 1061: 1060:Revolution OS 1057: 1055: 1052: 1051: 1049: 1045: 1039: 1036: 1034: 1031: 1029: 1028:John Sullivan 1026: 1024: 1021: 1019: 1016: 1014: 1011: 1009: 1006: 1004: 1001: 999: 996: 995: 993: 989: 983: 982: 978: 976: 973: 971: 968: 966: 963: 961: 958: 956: 953: 951: 948: 946: 943: 940: 936: 933: 931: 928: 926: 923: 921: 918: 916: 913: 911: 908: 906: 903: 901: 898: 896: 893: 891: 888: 886: 883: 881: 878: 876: 873: 871: 868: 866: 863: 861: 858: 856: 853: 851: 848: 846: 843: 841: 838: 836: 833: 831: 828: 826: 823: 821: 818: 816: 813: 811: 808: 805: 801: 798: 797: 795: 791: 785: 782: 780: 777: 775: 772: 770: 767: 763: 760: 758: 755: 754: 753: 750: 749: 747: 743: 737: 734: 730: 729:Latin America 727: 725: 722: 720: 717: 716: 715: 712: 710: 709:GNU Manifesto 707: 706: 704: 700: 696: 689: 684: 682: 677: 675: 670: 669: 666: 660: 657: 655: 652: 650: 646: 643: 641: 640:The Goat Book 636: 633: 627: 622: 621: 610: 608:1-57870-190-2 604: 600: 595: 594: 573: 567: 553: 549: 543: 529: 525: 519: 505: 499: 485: 479: 464: 460: 459: 454: 448: 446: 430: 423: 419: 409: 406: 404: 401: 400: 396: 385: 378: 376: 371: 369: 365: 361: 355: 352: 350: 347: 346: 345: 343: 339: 329: 326: 323: 315: 311: 308: 304: 301: 298: 297: 296: 289: 280: 278: 274: 270: 266: 258: 253: 251: 247: 243: 239: 235: 231: 227: 223: 219: 214: 212: 208: 204: 194: 189: 175: 171: 168: 165: 163: 159: 156: 153: 151: 147: 144: 141: 139: 135: 128: 123: 107: 106: 104: 102: 98: 94: 78: 72: 70: 66: 62: 48: 44: 41: 38: 36: 32: 28: 23: 1481: 1474: 1318:SpamAssassin 1298:Movable Type 1137:Perl Mongers 1058: 1047:Other topics 1033:Nagarjuna G. 991:Contributors 980: 955:GNU LilyPond 915:GNU Electric 840:Build system 642:aka Autobook 639: 598: 576:. Retrieved 574:. 2013-07-16 566: 555:. Retrieved 551: 542: 531:. Retrieved 527: 518: 507:. Retrieved 498: 487:. Retrieved 478: 467:. Retrieved 465:. 2021-10-01 456: 432:. Retrieved 422: 372: 367: 359: 358: 353: 348: 342:GNU Autoconf 335: 327: 319: 294: 254: 237: 225: 221: 217: 215: 207:GNU Automake 206: 200: 87:11 July 2024 35:Developer(s) 1457:brian d foy 1442:Audrey Tang 1212:Mojolicious 1202:DBIx::Class 885:GNU TeXmacs 815:Linux-libre 695:GNU Project 238:Makefile.in 226:Makefile.am 222:Makefile.am 218:Makefile.in 40:GNU Project 1499:Categories 1422:Larry Wall 1174:Frameworks 945:GNU Health 890:GNU Octave 578:2024-04-26 557:2024-04-26 533:2024-04-26 509:2024-04-26 489:2024-04-26 469:2024-04-26 414:References 322:dependency 259:maintains 101:Repository 74:1.17  56:1996-05-28 1452:chromatic 1283:Dada Mail 1273:Bricolage 1142:PerlMonks 1013:Brian Fox 965:GNU Chess 895:GNU Taler 880:GNU Emacs 835:findutils 830:coreutils 186:/automake 184:/software 120:/automake 112:.savannah 1483:Category 1278:Bugzilla 1268:BackupPC 1241:Software 1187:Catalyst 1147:archives 935:Gnuzilla 850:binutils 804:variants 793:Software 745:Licenses 645:Archived 601:. Sams. 381:See also 354:automake 307:compiler 277:XCircuit 261:automake 250:Makefile 230:compiler 20:Automake 1476:Outline 1346:Related 1327:Foswiki 1288:ikiwiki 1263:AWStats 1182:BioPerl 1159:Perl VM 981:more... 865:GNUstep 702:History 590:Sources 552:GNU.org 528:GNU.org 434:12 July 368:aclocal 360:aclocal 349:aclocal 283:Process 224:. Each 173:Website 162:License 85: ( 54: ( 1415:People 1373:MoarVM 1363:Rakudo 1353:Parrot 1337:Webmin 1332:W3Perl 1293:Makepp 1248:Amavis 1192:Dancer 1154:module 1120:Things 960:GNU Go 950:GNUmed 939:IceCat 925:GNUnet 719:Europe 605:  332:Design 314:linker 234:linker 1384:Books 1368:rules 1323:TWiki 1303:Munin 1253:Argus 1222:Plack 1217:Moose 970:Gnash 900:GNU R 820:glibc 724:India 209:is a 118:/cgit 1358:Raku 1308:OTRS 1258:@SSP 1227:PSGI 1164:YAPC 1127:CPAN 1113:Perl 975:Guix 875:Jami 870:GIMP 860:GRUB 825:Bash 810:Hurd 603:ISBN 436:2024 338:Perl 255:The 232:and 182:.org 180:.gnu 150:Type 122:.git 116:.org 114:.gnu 1207:LWP 1197:DBI 910:GMP 905:GSL 855:GDB 845:GCC 800:GNU 458:GNU 273:GTK 265:GNU 201:In 178:www 110:git 1501:: 550:. 526:. 461:. 455:. 444:^ 279:. 252:. 205:, 1325:/ 1105:e 1098:t 1091:v 941:) 937:( 806:) 802:( 687:e 680:t 673:v 611:. 581:. 560:. 536:. 512:. 492:. 472:. 438:. 188:/ 89:) 58:)

Index


Developer(s)
GNU Project
Stable release
Edit this on Wikidata
Repository
git.savannah.gnu.org/cgit/automake.git
Edit this at Wikidata
Operating system
Cross-platform
Type
Programming tool
License
GNU General Public License
www.gnu.org/software/automake/
Edit this at Wikidata
software development
programming tool
compiler
linker
GNU Coding Standards
configure scripts
Makefile
Free Software Foundation
GNU
GNU build system
GTK
XCircuit

compiler

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.