GNU Make
Convert pdf to html online - Library control API:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net, ASP.NET MVC, WinForms, WPF application
How to Convert PDF to HTML Webpage with C# PDF Conversion SDK
www.rasteredge.com
Convert pdf to html online - Library control API:VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.net, ASP.NET MVC, WinForms, WPF application
PDF to HTML Webpage Converter SDK for VB.NET PDF to HTML Conversion
www.rasteredge.com
Library control API:Online Convert PDF to HTML5 files. Best free online PDF html
Online PDF to HTML5 Converter. Download Free Trial. Convert a PDF file to HTML. Just upload your file by clicking on the blue button
www.rasteredge.com
Library control API:VB.NET PDF - Convert PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
GNU Make
AProgramforDirectingRecompilation
GNUmakeVersion4.1
September2014
Richard M. Stallman, Roland McGrath, Paul D. Smith
Library control API:C# HTML5 PDF Viewer SDK to convert and export PDF document to
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
Library control API:VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
ThisfiledocumentstheGNUmakeutility,whichdeterminesautomaticallywhichpiecesof
alarge programneedto berecompiled,andissuesthe commandsto recompilethem.
ThisisEdition0.73,lastupdated30September2014,ofTheGNUMakeManual,forGNU
makeversion4.1.
Copyright  c 1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,
2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014 FreeSoftware
Foundation,Inc.
Permission isgranted to copy, distribute and/ormodifythisdocument under
the termsof the GNU Free Documentation License, Version 1.3 orany later
versionpublishedbytheFreeSoftwareFoundation;withnoInvariantSections,
withtheFront-CoverTextsbeing“AGNUManual,”andwiththeBack-Cover
Textsasin(a)below. Acopyof the licenseisincluded inthesectionentitled
“GNUFreeDocumentationLicense.”
(a)TheFSF’sBack-CoverTextis: “Youhavethefreedomtocopyandmodify
thisGNUmanual. BuyingcopiesfromtheFSFsupportsitindevelopingGNU
andpromotingsoftwarefreedom.”
PublishedbytheFreeSoftware Foundation
51FranklinSt. –FifthFloor
Boston,MA02110-1301USA
ISBN1-882114-83-3
CoverartbyEtienne Suvasa.
Library control API:VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
Resize converted Tiff image using VB.NET. Convert PDF file to Tiff and jpeg in ASPX webpage online. Online source code for VB.NET class.
www.rasteredge.com
Library control API:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
i
Short Contents
1
Overviewofmake
:::::::::::::::::::::::::::::::::::::
1
2
AnIntroductiontoMakefiles
::::::::::::::::::::::::::::
3
3
WritingMakefiles
::::::::::::::::::::::::::::::::::::
11
4
WritingRules
:::::::::::::::::::::::::::::::::::::::
21
5
WritingRecipesinRules
::::::::::::::::::::::::::::::
41
6
How toUseVariables
:::::::::::::::::::::::::::::::::
59
7
ConditionalParts ofMakefiles
::::::::::::::::::::::::::
77
8
Functions forTransformingText
::::::::::::::::::::::::
83
9
How toRunmake
::::::::::::::::::::::::::::::::::::
99
10 UsingImplicit Rules
:::::::::::::::::::::::::::::::::
111
11 UsingmaketoUpdate ArchiveFiles
::::::::::::::::::::
129
12 ExtendingGNUmake
::::::::::::::::::::::::::::::::
133
13 FeaturesofGNUmake
:::::::::::::::::::::::::::::::
143
14 IncompatibilitiesandMissingFeatures
::::::::::::::::::
147
15 MakefileConventions
::::::::::::::::::::::::::::::::
149
A
QuickReference
::::::::::::::::::::::::::::::::::::
165
B
ErrorsGeneratedbyMake
::::::::::::::::::::::::::::
173
C
Complex Makefile Example
:::::::::::::::::::::::::::
177
IndexofConcepts
:::::::::::::::::::::::::::::::::::::::
191
IndexofFunctions, Variables, &Directives
::::::::::::::::::
199
Library control API:VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF Demo▶: Convert PDF to Word; Convert PDF to Tiff; Convert PDF to HTML; Convert
www.rasteredge.com
Library control API:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
NET library to batch convert PDF files to jpg image files. Turn multiple pages PDF into single jpg files respectively online.
www.rasteredge.com
iii
Table of Contents
1 Overview of make:::::::::::::::::::::::::::::::: 1
1.1 HowtoReadThisManual::::::::::::::::::::::::::::::::::::: 1
1.2 ProblemsandBugs::::::::::::::::::::::::::::::::::::::::::::: 1
2 An Introduction to Makefiles:::::::::::::::::: 3
2.1 WhataRuleLooksLike::::::::::::::::::::::::::::::::::::::: 3
2.2 ASimpleMakefile:::::::::::::::::::::::::::::::::::::::::::::: 4
2.3 HowmakeProcessesaMakefile::::::::::::::::::::::::::::::::: 5
2.4 VariablesMakeMakefilesSimpler::::::::::::::::::::::::::::::: 6
2.5 LettingmakeDeducetheRecipes::::::::::::::::::::::::::::::: 7
2.6 AnotherStyleofMakefile:::::::::::::::::::::::::::::::::::::: 8
2.7 RulesforCleaningthe Directory:::::::::::::::::::::::::::::::: 9
3 Writing Makefiles:::::::::::::::::::::::::::::: 11
3.1 WhatMakefilesContain:::::::::::::::::::::::::::::::::::::::11
3.1.1 SplittingLong Lines:::::::::::::::::::::::::::::::::::::: 12
3.2 WhatNametoGiveYourMakefile:::::::::::::::::::::::::::: 12
3.3 IncludingOtherMakefiles::::::::::::::::::::::::::::::::::::: 13
3.4 TheVariableMAKEFILES:::::::::::::::::::::::::::::::::::::: 14
3.5 HowMakefilesAre Remade::::::::::::::::::::::::::::::::::: 14
3.6 OverridingPartofAnotherMakefile:::::::::::::::::::::::::::15
3.7 HowmakeReadsaMakefile::::::::::::::::::::::::::::::::::: 16
3.8 SecondaryExpansion::::::::::::::::::::::::::::::::::::::::: 18
4 Writing Rules:::::::::::::::::::::::::::::::::: 21
4.1 RuleSyntax:::::::::::::::::::::::::::::::::::::::::::::::::: 21
4.2 TypesofPrerequisites::::::::::::::::::::::::::::::::::::::::: 22
4.3 UsingWildcardCharactersinFile Names::::::::::::::::::::: 23
4.3.1 WildcardExamples:::::::::::::::::::::::::::::::::::::: 23
4.3.2 Pitfallsof Using Wildcards::::::::::::::::::::::::::::::: 24
4.3.3 TheFunctionwildcard:::::::::::::::::::::::::::::::::: 24
4.4 SearchingDirectoriesforPrerequisites::::::::::::::::::::::::: 25
4.4.1 VPATH: SearchPathforAllPrerequisites:::::::::::::::::: 25
4.4.2 ThevpathDirective::::::::::::::::::::::::::::::::::::::26
4.4.3 HowDirectorySearchesarePerformed::::::::::::::::::::27
4.4.4 Writing RecipeswithDirectorySearch::::::::::::::::::::27
4.4.5 DirectorySearchandImplicitRules:::::::::::::::::::::: 28
4.4.6 DirectorySearchforLinkLibraries::::::::::::::::::::::: 28
4.5 PhonyTargets:::::::::::::::::::::::::::::::::::::::::::::::: 29
4.6 RuleswithoutRecipesorPrerequisites:::::::::::::::::::::::: 31
4.7 EmptyTargetFilestoRecordEvents::::::::::::::::::::::::::31
4.8 SpecialBuilt-inTargetNames::::::::::::::::::::::::::::::::: 32
iv
GNUmake
4.9 Multiple TargetsinaRule:::::::::::::::::::::::::::::::::::: 34
4.10 MultipleRulesforOne Target::::::::::::::::::::::::::::::::35
4.11 StaticPatternRules::::::::::::::::::::::::::::::::::::::::: 36
4.11.1 SyntaxofStaticPatternRules:::::::::::::::::::::::::: 36
4.11.2 Static PatternRulesversusImplicitRules::::::::::::::: 37
4.12 Double-ColonRules:::::::::::::::::::::::::::::::::::::::::: 38
4.13 Generating PrerequisitesAutomatically:::::::::::::::::::::: 38
5 Writing Recipes in Rules::::::::::::::::::::: 41
5.1 RecipeSyntax:::::::::::::::::::::::::::::::::::::::::::::::: 41
5.1.1 SplittingRecipeLines:::::::::::::::::::::::::::::::::::: 41
5.1.2 UsingVariablesinRecipes::::::::::::::::::::::::::::::::43
5.2 RecipeEchoing::::::::::::::::::::::::::::::::::::::::::::::: 43
5.3 RecipeExecution::::::::::::::::::::::::::::::::::::::::::::: 44
5.3.1 UsingOneShell:::::::::::::::::::::::::::::::::::::::::: 44
5.3.2 Choosingthe Shell::::::::::::::::::::::::::::::::::::::: 45
5.4 ParallelExecution:::::::::::::::::::::::::::::::::::::::::::: 47
5.4.1 OutputDuringParallelExecution:::::::::::::::::::::::: 47
5.4.2 InputDuringParallelExecution:::::::::::::::::::::::::: 49
5.5 ErrorsinRecipes::::::::::::::::::::::::::::::::::::::::::::: 49
5.6 InterruptingorKillingmake::::::::::::::::::::::::::::::::::: 50
5.7 Recursive Use ofmake::::::::::::::::::::::::::::::::::::::::: 50
5.7.1 HowtheMAKEVariableWorks:::::::::::::::::::::::::::: 51
5.7.2 CommunicatingVariablesto aSub-make:::::::::::::::::: 52
5.7.3 CommunicatingOptionstoaSub-make::::::::::::::::::: 54
5.7.4 The‘--print-directory’Option:::::::::::::::::::::::: 55
5.8 DefiningCannedRecipes:::::::::::::::::::::::::::::::::::::: 56
5.9 UsingEmptyRecipes::::::::::::::::::::::::::::::::::::::::: 57
6 How to Use Variables::::::::::::::::::::::::: 59
6.1 BasicsofVariableReferences:::::::::::::::::::::::::::::::::: 59
6.2 TheTwoFlavorsofVariables::::::::::::::::::::::::::::::::: 60
6.3 AdvancedFeaturesforReference to Variables::::::::::::::::::62
6.3.1 SubstitutionReferences:::::::::::::::::::::::::::::::::: 62
6.3.2 ComputedVariable Names::::::::::::::::::::::::::::::: 63
6.4 HowVariablesGetTheirValues::::::::::::::::::::::::::::::: 65
6.5 SettingVariables:::::::::::::::::::::::::::::::::::::::::::::: 65
6.6 AppendingMoreTextto Variables:::::::::::::::::::::::::::: 66
6.7 TheoverrideDirective::::::::::::::::::::::::::::::::::::::: 68
6.8 DefiningMulti-LineVariables::::::::::::::::::::::::::::::::: 69
6.9 UndefiningVariables:::::::::::::::::::::::::::::::::::::::::: 69
6.10 Variablesfromthe Environment:::::::::::::::::::::::::::::: 70
6.11 Target-specificVariable Values::::::::::::::::::::::::::::::: 71
6.12 Pattern-specificVariableValues:::::::::::::::::::::::::::::: 71
6.13 SuppressingInheritance:::::::::::::::::::::::::::::::::::::: 72
6.14 OtherSpecialVariables:::::::::::::::::::::::::::::::::::::: 73
v
7 Conditional Parts of Makefiles ::::::::::::::: 77
7.1 ExampleofaConditional::::::::::::::::::::::::::::::::::::: 77
7.2 SyntaxofConditionals:::::::::::::::::::::::::::::::::::::::: 78
7.3 ConditionalsthatTestFlags:::::::::::::::::::::::::::::::::: 80
8 Functions for Transforming Text::::::::::::: 83
8.1 FunctionCallSyntax::::::::::::::::::::::::::::::::::::::::::83
8.2 FunctionsforStringSubstitutionandAnalysis:::::::::::::::::84
8.3 FunctionsforFile Names:::::::::::::::::::::::::::::::::::::: 87
8.4 FunctionsforConditionals:::::::::::::::::::::::::::::::::::: 89
8.5 TheforeachFunction:::::::::::::::::::::::::::::::::::::::: 90
8.6 ThefileFunction:::::::::::::::::::::::::::::::::::::::::::: 91
8.7 ThecallFunction:::::::::::::::::::::::::::::::::::::::::::: 92
8.8 ThevalueFunction:::::::::::::::::::::::::::::::::::::::::::93
8.9 TheevalFunction:::::::::::::::::::::::::::::::::::::::::::: 93
8.10 TheoriginFunction:::::::::::::::::::::::::::::::::::::::: 94
8.11 TheflavorFunction:::::::::::::::::::::::::::::::::::::::: 95
8.12 FunctionsThatControlMake:::::::::::::::::::::::::::::::: 96
8.13 TheshellFunction::::::::::::::::::::::::::::::::::::::::: 97
8.14 TheguileFunction::::::::::::::::::::::::::::::::::::::::: 97
9 How to Run make:::::::::::::::::::::::::::::: 99
9.1 ArgumentstoSpecifythe Makefile:::::::::::::::::::::::::::: 99
9.2 ArgumentstoSpecifythe Goals::::::::::::::::::::::::::::::: 99
9.3 InsteadofExecutingRecipes::::::::::::::::::::::::::::::::: 101
9.4 AvoidingRecompilationof SomeFiles:::::::::::::::::::::::: 102
9.5 OverridingVariables::::::::::::::::::::::::::::::::::::::::: 103
9.6 TestingtheCompilationofaProgram:::::::::::::::::::::::: 104
9.7 SummaryofOptions::::::::::::::::::::::::::::::::::::::::: 104
10 Using Implicit Rules:::::::::::::::::::::::: 111
10.1 UsingImplicitRules:::::::::::::::::::::::::::::::::::::::: 111
10.2 Catalogueof Built-InRules::::::::::::::::::::::::::::::::: 112
10.3 VariablesUsedbyImplicitRules:::::::::::::::::::::::::::: 115
10.4 ChainsofImplicitRules:::::::::::::::::::::::::::::::::::: 117
10.5 DefiningandRedefining PatternRules:::::::::::::::::::::: 118
10.5.1 IntroductiontoPatternRules:::::::::::::::::::::::::: 119
10.5.2 PatternRule Examples:::::::::::::::::::::::::::::::: 119
10.5.3 AutomaticVariables::::::::::::::::::::::::::::::::::: 120
10.5.4 How PatternsMatch::::::::::::::::::::::::::::::::::: 122
10.5.5 Match-AnythingPatternRules::::::::::::::::::::::::: 123
10.5.6 Canceling ImplicitRules::::::::::::::::::::::::::::::: 124
10.6 DefiningLast-ResortDefaultRules:::::::::::::::::::::::::: 125
10.7 Old-FashionedSuffixRules:::::::::::::::::::::::::::::::::: 125
10.8 ImplicitRuleSearchAlgorithm::::::::::::::::::::::::::::: 127
vi
GNUmake
11 Using make to Update Archive Files::::::: 129
11.1 Archive MembersasTargets:::::::::::::::::::::::::::::::: 129
11.2 ImplicitRuleforArchiveMemberTargets::::::::::::::::::: 129
11.2.1 UpdatingArchiveSymbolDirectories:::::::::::::::::::130
11.3 DangersWhenUsingArchives:::::::::::::::::::::::::::::: 130
11.4 SuffixRulesforArchive Files::::::::::::::::::::::::::::::::130
12 Extending GNU make::::::::::::::::::::::: 133
12.1 GNUGuileIntegration::::::::::::::::::::::::::::::::::::::133
12.1.1 ConversionofGuile Types::::::::::::::::::::::::::::: 133
12.1.2 InterfacesfromGuile to make:::::::::::::::::::::::::: 134
12.1.3 ExampleUsingGuile inmake:::::::::::::::::::::::::: 134
12.2 LoadingDynamic Objects:::::::::::::::::::::::::::::::::::135
12.2.1 TheloadDirective:::::::::::::::::::::::::::::::::::::136
12.2.2 How LoadedObjectsAreRemade:::::::::::::::::::::: 137
12.2.3 LoadedObjectInterface::::::::::::::::::::::::::::::::137
12.2.4 ExampleLoadedObject::::::::::::::::::::::::::::::::139
13 Features of GNU make:::::::::::::::::::::: 143
14 Incompatibilities and Missing Features ::: 147
15 Makefile Conventions::::::::::::::::::::::: 149
15.1 GeneralConventionsforMakefiles::::::::::::::::::::::::::: 149
15.2 UtilitiesinMakefiles:::::::::::::::::::::::::::::::::::::::: 150
15.3 VariablesforSpecifyingCommands::::::::::::::::::::::::: 151
15.4 DESTDIR: SupportforStagedInstalls:::::::::::::::::::::::: 152
15.5 VariablesforInstallationDirectories:::::::::::::::::::::::::152
15.6 StandardTargetsforUsers:::::::::::::::::::::::::::::::::: 157
15.7 InstallCommandCategories:::::::::::::::::::::::::::::::: 162
Appendix A
Quick Reference::::::::::::::::: 165
Appendix B
Errors Generated by Make::::: 173
Appendix C
Complex Makefile Example :::: 177
C.1 GNUFreeDocumentationLicense::::::::::::::::::::::::::: 181
Index of Concepts:::::::::::::::::::::::::::::::: 191
Index of Functions, Variables, & Directives:::: 199
Documents you may be interested
Documents you may be interested