Expanding path variable in makefile using SED on Windows Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Data science time! April 2019 and salary with experience The Ask Question Wizard is Live!What is the difference between the GNU Makefile variable assignments =, ?=, := and +=?How do you use a variable in a regular expression?How can I replace a newline (n) using sed?Using Sed to expand environment variables inside filesSet a path variable with spaces in the path in a Windows .cmd file or batch fileWhat is the purpose of .PHONY in a makefile?makefile pathing issues on OSXExport variable in MakefileExpand environment variables using sed scriptAltering Makefile variable with sed

Did any compiler fully use 80-bit floating point?

How to make triangles with rounded sides and corners? (squircle with 3 sides)

Determine whether an integer is a palindrome

How could a hydrazine and N2O4 cloud (or it's reactants) show up in weather radar?

Why is there so little support for joining EFTA in the British parliament?

Found this skink in my tomato plant bucket. Is he trapped? Or could he leave if he wanted?

Adapting the Chinese Remainder Theorem (CRT) for integers to polynomials

Getting representations of the Lie group out of representations of its Lie algebra

Where and when has Thucydides been studied?

3D Masyu - A Die

Random body shuffle every night—can we still function?

Any stored/leased 737s that could substitute for grounded MAXs?

What is "Lambda" in Heston's original paper on stochastic volatility models?

How do you write "wild blueberries flavored"?

First paper to introduce the "principal-agent problem"

newbie Q : How to read an output file in one command line

Fit odd number of triplets in a measure?

Marquee sign letters

Why can't fire hurt Daenerys but it did to Jon Snow in season 1?

"Destructive power" carried by a B-52?

What does 丫 mean? 丫是什么意思?

Is there a verb for listening stealthily?

NIntegrate on a solution of a matrix ODE

Calculation of line of sight system gain



Expanding path variable in makefile using SED on Windows



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Data science time! April 2019 and salary with experience
The Ask Question Wizard is Live!What is the difference between the GNU Makefile variable assignments =, ?=, := and +=?How do you use a variable in a regular expression?How can I replace a newline (n) using sed?Using Sed to expand environment variables inside filesSet a path variable with spaces in the path in a Windows .cmd file or batch fileWhat is the purpose of .PHONY in a makefile?makefile pathing issues on OSXExport variable in MakefileExpand environment variables using sed scriptAltering Makefile variable with sed



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















On Windows machine, a makefile is taking path option and creating another file by appending this path value.



My problem is that path variable is not expanding correct in resultant file.



For example



$ make var=c:testkernel


by using below makefile code this $(var) value is being appending to output file



all:
@sed -i '1 iexport PATH := $(var)' output.txt


Expected result



export PATH := c:testkernel


But instead I'm getting



export PATH := c: estkernel


So, how I can fix this problem in makefile?










share|improve this question
























  • Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

    – LotPings
    Mar 22 at 12:43











  • What are you running that provides sed, make, and a shell? cygwin, mingw, ???

    – lit
    Mar 22 at 12:53

















1















On Windows machine, a makefile is taking path option and creating another file by appending this path value.



My problem is that path variable is not expanding correct in resultant file.



For example



$ make var=c:testkernel


by using below makefile code this $(var) value is being appending to output file



all:
@sed -i '1 iexport PATH := $(var)' output.txt


Expected result



export PATH := c:testkernel


But instead I'm getting



export PATH := c: estkernel


So, how I can fix this problem in makefile?










share|improve this question
























  • Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

    – LotPings
    Mar 22 at 12:43











  • What are you running that provides sed, make, and a shell? cygwin, mingw, ???

    – lit
    Mar 22 at 12:53













1












1








1


1






On Windows machine, a makefile is taking path option and creating another file by appending this path value.



My problem is that path variable is not expanding correct in resultant file.



For example



$ make var=c:testkernel


by using below makefile code this $(var) value is being appending to output file



all:
@sed -i '1 iexport PATH := $(var)' output.txt


Expected result



export PATH := c:testkernel


But instead I'm getting



export PATH := c: estkernel


So, how I can fix this problem in makefile?










share|improve this question
















On Windows machine, a makefile is taking path option and creating another file by appending this path value.



My problem is that path variable is not expanding correct in resultant file.



For example



$ make var=c:testkernel


by using below makefile code this $(var) value is being appending to output file



all:
@sed -i '1 iexport PATH := $(var)' output.txt


Expected result



export PATH := c:testkernel


But instead I'm getting



export PATH := c: estkernel


So, how I can fix this problem in makefile?







regex sed cmd makefile






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 22 at 14:45









Taylor Spark

3610




3610










asked Mar 22 at 12:30









Equation SolverEquation Solver

179113




179113












  • Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

    – LotPings
    Mar 22 at 12:43











  • What are you running that provides sed, make, and a shell? cygwin, mingw, ???

    – lit
    Mar 22 at 12:53

















  • Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

    – LotPings
    Mar 22 at 12:43











  • What are you running that provides sed, make, and a shell? cygwin, mingw, ???

    – lit
    Mar 22 at 12:53
















Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

– LotPings
Mar 22 at 12:43





Looks like the t in c:testkernel is interpreted as a tab, escape the backslashes (with another one)

– LotPings
Mar 22 at 12:43













What are you running that provides sed, make, and a shell? cygwin, mingw, ???

– lit
Mar 22 at 12:53





What are you running that provides sed, make, and a shell? cygwin, mingw, ???

– lit
Mar 22 at 12:53












1 Answer
1






active

oldest

votes


















2














First, I strongly urge you to always use forward slashes in paths even on Windows, especially when working with make. There are very few programs on Windows that won't work with forward-slashes (mainly old-school CMD commands etc.) and using backslashes in tools which have their provenance in UNIX will always be an uncomfortable fit.



For your situation you can do something like this:



all:
@sed -i '1 iexport PATH := $(subst ,\,$(var))' output.txt


to convert your backslashes to escaped backslashes.






share|improve this answer























  • you really save my day, big thanks

    – Equation Solver
    Mar 22 at 13:19











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55299646%2fexpanding-path-variable-in-makefile-using-sed-on-windows%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














First, I strongly urge you to always use forward slashes in paths even on Windows, especially when working with make. There are very few programs on Windows that won't work with forward-slashes (mainly old-school CMD commands etc.) and using backslashes in tools which have their provenance in UNIX will always be an uncomfortable fit.



For your situation you can do something like this:



all:
@sed -i '1 iexport PATH := $(subst ,\,$(var))' output.txt


to convert your backslashes to escaped backslashes.






share|improve this answer























  • you really save my day, big thanks

    – Equation Solver
    Mar 22 at 13:19















2














First, I strongly urge you to always use forward slashes in paths even on Windows, especially when working with make. There are very few programs on Windows that won't work with forward-slashes (mainly old-school CMD commands etc.) and using backslashes in tools which have their provenance in UNIX will always be an uncomfortable fit.



For your situation you can do something like this:



all:
@sed -i '1 iexport PATH := $(subst ,\,$(var))' output.txt


to convert your backslashes to escaped backslashes.






share|improve this answer























  • you really save my day, big thanks

    – Equation Solver
    Mar 22 at 13:19













2












2








2







First, I strongly urge you to always use forward slashes in paths even on Windows, especially when working with make. There are very few programs on Windows that won't work with forward-slashes (mainly old-school CMD commands etc.) and using backslashes in tools which have their provenance in UNIX will always be an uncomfortable fit.



For your situation you can do something like this:



all:
@sed -i '1 iexport PATH := $(subst ,\,$(var))' output.txt


to convert your backslashes to escaped backslashes.






share|improve this answer













First, I strongly urge you to always use forward slashes in paths even on Windows, especially when working with make. There are very few programs on Windows that won't work with forward-slashes (mainly old-school CMD commands etc.) and using backslashes in tools which have their provenance in UNIX will always be an uncomfortable fit.



For your situation you can do something like this:



all:
@sed -i '1 iexport PATH := $(subst ,\,$(var))' output.txt


to convert your backslashes to escaped backslashes.







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 22 at 13:05









MadScientistMadScientist

48.4k55470




48.4k55470












  • you really save my day, big thanks

    – Equation Solver
    Mar 22 at 13:19

















  • you really save my day, big thanks

    – Equation Solver
    Mar 22 at 13:19
















you really save my day, big thanks

– Equation Solver
Mar 22 at 13:19





you really save my day, big thanks

– Equation Solver
Mar 22 at 13:19



















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55299646%2fexpanding-path-variable-in-makefile-using-sed-on-windows%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript