{"id":26823,"date":"2024-03-16T07:23:57","date_gmt":"2024-03-16T07:23:57","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/"},"modified":"2024-03-22T09:31:36","modified_gmt":"2024-03-22T09:31:36","slug":"summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/","title":{"rendered":"Summary of using the patsubst and wildcard functions in Makefile notes."},"content":{"rendered":"<p>Patsubst and wildcard are two commonly used functions in a Makefile. Here is a summary of their usage.<\/p>\n<ol>\n<li>The patsubst function is used to replace pattern matching strings.<\/li>\n<\/ol>\n<p>Syntax: $(patsubst pattern,replacement,text)<\/p>\n<ol>\n<li>Pattern: the pattern to match, it can include &#8220;%&#8221; wildcard to represent any character.<\/li>\n<li>Replacement: the string to be replaced, which can reference the value of a wildcard.<\/li>\n<li>String that needs to undergo pattern matching and replacement.<\/li>\n<\/ol>\n<p>I like to go for a jog in the morning to start my day off on the right foot. <\/p>\n<p>I enjoy starting my day with a morning run.<\/p>\n<pre class=\"post-pre\"><code>files := src\/main.c src\/utils.c src\/test.c\r\nobjects := $(patsubst src\/%.c,obj\/%.o,$(files))\r\n\r\n# \u4e0a\u8ff0\u4ee3\u7801\u4e2d\uff0c\u5c06src\u76ee\u5f55\u4e0b\u7684.c\u6587\u4ef6\u66ff\u6362\u4e3aobj\u76ee\u5f55\u4e0b\u7684.o\u6587\u4ef6\r\n# \u7ed3\u679c\u4e3a\uff1aobjects = obj\/main.o obj\/utils.o obj\/test.o\r\n<\/code><\/pre>\n<ol>\n<li>Wildcard function: used to retrieve a list of files that match a wildcard pattern.<\/li>\n<\/ol>\n<p>Grammar: $(wildcard pattern)<\/p>\n<ol>\n<li>pattern: wildcard pattern to be matched.<\/li>\n<\/ol>\n<p>I don&#8217;t have any information on that topic at the moment. <\/p>\n<p>I am not currently informed about that subject.<\/p>\n<pre class=\"post-pre\"><code>files := $(wildcard src\/*.c)\r\n\r\n# \u4e0a\u8ff0\u4ee3\u7801\u4e2d\uff0c\u83b7\u53d6src\u76ee\u5f55\u4e0b\u6240\u6709\u7684.c\u6587\u4ef6\u5217\u8868\r\n# \u7ed3\u679c\u4e3a\uff1afiles = src\/main.c src\/utils.c src\/test.c\r\n<\/code><\/pre>\n<p>Summary: patsubst and wildcard functions are commonly used string processing functions in Makefiles. The patsubst function is used to replace pattern matching strings, allowing specified patterns to be replaced with specific strings; the wildcard function is used to obtain a list of files that match a wildcard pattern. In a Makefile, these two functions can assist in simplifying file path processing and obtaining file lists.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Patsubst and wildcard are two commonly used functions in a Makefile. Here is a summary of their usage. The patsubst function is used to replace pattern matching strings. Syntax: $(patsubst pattern,replacement,text) Pattern: the pattern to match, it can include &#8220;%&#8221; wildcard to represent any character. Replacement: the string to be replaced, which can reference the [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-26823","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Summary of using the patsubst and wildcard functions in Makefile notes. - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Summary of using the patsubst and wildcard functions in Makefile notes.\" \/>\n<meta property=\"og:description\" content=\"Patsubst and wildcard are two commonly used functions in a Makefile. Here is a summary of their usage. The patsubst function is used to replace pattern matching strings. Syntax: $(patsubst pattern,replacement,text) Pattern: the pattern to match, it can include &#8220;%&#8221; wildcard to represent any character. Replacement: the string to be replaced, which can reference the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T07:23:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T09:31:36+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"Summary of using the patsubst and wildcard functions in Makefile notes.\",\"datePublished\":\"2024-03-16T07:23:57+00:00\",\"dateModified\":\"2024-03-22T09:31:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\"},\"wordCount\":216,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\",\"name\":\"Summary of using the patsubst and wildcard functions in Makefile notes. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T07:23:57+00:00\",\"dateModified\":\"2024-03-22T09:31:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Summary of using the patsubst and wildcard functions in Makefile notes.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Summary of using the patsubst and wildcard functions in Makefile notes. - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/","og_locale":"en_US","og_type":"article","og_title":"Summary of using the patsubst and wildcard functions in Makefile notes.","og_description":"Patsubst and wildcard are two commonly used functions in a Makefile. Here is a summary of their usage. The patsubst function is used to replace pattern matching strings. Syntax: $(patsubst pattern,replacement,text) Pattern: the pattern to match, it can include &#8220;%&#8221; wildcard to represent any character. Replacement: the string to be replaced, which can reference the [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T07:23:57+00:00","article_modified_time":"2024-03-22T09:31:36+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"Summary of using the patsubst and wildcard functions in Makefile notes.","datePublished":"2024-03-16T07:23:57+00:00","dateModified":"2024-03-22T09:31:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/"},"wordCount":216,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/","url":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/","name":"Summary of using the patsubst and wildcard functions in Makefile notes. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T07:23:57+00:00","dateModified":"2024-03-22T09:31:36+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/summary-of-using-the-patsubst-and-wildcard-functions-in-makefile-notes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Summary of using the patsubst and wildcard functions in Makefile notes."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=26823"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26823\/revisions"}],"predecessor-version":[{"id":61014,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/26823\/revisions\/61014"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=26823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=26823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=26823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}