Assigning comma separated lines to a variable












0















(Is it possible/How) to assign comma separated lines to a variable in make file?



var1=name,name2,
name3,name4.....


For space separated I just have use
like this



var = name1 name2 
name3 name4









share|improve this question





























    0















    (Is it possible/How) to assign comma separated lines to a variable in make file?



    var1=name,name2,
    name3,name4.....


    For space separated I just have use
    like this



    var = name1 name2 
    name3 name4









    share|improve this question



























      0












      0








      0








      (Is it possible/How) to assign comma separated lines to a variable in make file?



      var1=name,name2,
      name3,name4.....


      For space separated I just have use
      like this



      var = name1 name2 
      name3 name4









      share|improve this question
















      (Is it possible/How) to assign comma separated lines to a variable in make file?



      var1=name,name2,
      name3,name4.....


      For space separated I just have use
      like this



      var = name1 name2 
      name3 name4






      make






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Feb 20 at 12:21









      Kusalananda

      134k17255418




      134k17255418










      asked Feb 20 at 11:05









      G.Durga SomeswaraRaoG.Durga SomeswaraRao

      1




      1






















          1 Answer
          1






          active

          oldest

          votes


















          0














          [I suppose that you want to write a long list of words separated by comma on multiple lines, the same as with space separated word lists; for a simple assignment, you can just do it with var = a,b,c]



          I don't think that's possible with the standard make; with GNU make (the default on linux), you can use the subst() function for that:



          $ cat Makefile
          list = first,second,
          third,fourth,
          fifth,sixth

          e :=
          c := ,
          list := $(subst $c $e,$c,$(list))

          list:; echo $(list)
          $ make
          echo first,second,third,fourth,fifth,sixth
          first,second,third,fourth,fifth,sixth


          If you're using GNU make a better approach would be to the define the list as space-separated, and transform it to comma-separated later on:



          $ cat Makefile
          words = first second
          third fourth
          fifth sixth

          e :=
          c := ,
          clist = $(subst $e $e,$c,$(strip $1))

          words:; echo $(call clist,$(words))

          $ make
          echo first,second,third,fourth,fifth,sixth
          first,second,third,fourth,fifth,sixth





          share|improve this answer

























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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%2funix.stackexchange.com%2fquestions%2f501820%2fassigning-comma-separated-lines-to-a-variable%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









            0














            [I suppose that you want to write a long list of words separated by comma on multiple lines, the same as with space separated word lists; for a simple assignment, you can just do it with var = a,b,c]



            I don't think that's possible with the standard make; with GNU make (the default on linux), you can use the subst() function for that:



            $ cat Makefile
            list = first,second,
            third,fourth,
            fifth,sixth

            e :=
            c := ,
            list := $(subst $c $e,$c,$(list))

            list:; echo $(list)
            $ make
            echo first,second,third,fourth,fifth,sixth
            first,second,third,fourth,fifth,sixth


            If you're using GNU make a better approach would be to the define the list as space-separated, and transform it to comma-separated later on:



            $ cat Makefile
            words = first second
            third fourth
            fifth sixth

            e :=
            c := ,
            clist = $(subst $e $e,$c,$(strip $1))

            words:; echo $(call clist,$(words))

            $ make
            echo first,second,third,fourth,fifth,sixth
            first,second,third,fourth,fifth,sixth





            share|improve this answer






























              0














              [I suppose that you want to write a long list of words separated by comma on multiple lines, the same as with space separated word lists; for a simple assignment, you can just do it with var = a,b,c]



              I don't think that's possible with the standard make; with GNU make (the default on linux), you can use the subst() function for that:



              $ cat Makefile
              list = first,second,
              third,fourth,
              fifth,sixth

              e :=
              c := ,
              list := $(subst $c $e,$c,$(list))

              list:; echo $(list)
              $ make
              echo first,second,third,fourth,fifth,sixth
              first,second,third,fourth,fifth,sixth


              If you're using GNU make a better approach would be to the define the list as space-separated, and transform it to comma-separated later on:



              $ cat Makefile
              words = first second
              third fourth
              fifth sixth

              e :=
              c := ,
              clist = $(subst $e $e,$c,$(strip $1))

              words:; echo $(call clist,$(words))

              $ make
              echo first,second,third,fourth,fifth,sixth
              first,second,third,fourth,fifth,sixth





              share|improve this answer




























                0












                0








                0







                [I suppose that you want to write a long list of words separated by comma on multiple lines, the same as with space separated word lists; for a simple assignment, you can just do it with var = a,b,c]



                I don't think that's possible with the standard make; with GNU make (the default on linux), you can use the subst() function for that:



                $ cat Makefile
                list = first,second,
                third,fourth,
                fifth,sixth

                e :=
                c := ,
                list := $(subst $c $e,$c,$(list))

                list:; echo $(list)
                $ make
                echo first,second,third,fourth,fifth,sixth
                first,second,third,fourth,fifth,sixth


                If you're using GNU make a better approach would be to the define the list as space-separated, and transform it to comma-separated later on:



                $ cat Makefile
                words = first second
                third fourth
                fifth sixth

                e :=
                c := ,
                clist = $(subst $e $e,$c,$(strip $1))

                words:; echo $(call clist,$(words))

                $ make
                echo first,second,third,fourth,fifth,sixth
                first,second,third,fourth,fifth,sixth





                share|improve this answer















                [I suppose that you want to write a long list of words separated by comma on multiple lines, the same as with space separated word lists; for a simple assignment, you can just do it with var = a,b,c]



                I don't think that's possible with the standard make; with GNU make (the default on linux), you can use the subst() function for that:



                $ cat Makefile
                list = first,second,
                third,fourth,
                fifth,sixth

                e :=
                c := ,
                list := $(subst $c $e,$c,$(list))

                list:; echo $(list)
                $ make
                echo first,second,third,fourth,fifth,sixth
                first,second,third,fourth,fifth,sixth


                If you're using GNU make a better approach would be to the define the list as space-separated, and transform it to comma-separated later on:



                $ cat Makefile
                words = first second
                third fourth
                fifth sixth

                e :=
                c := ,
                clist = $(subst $e $e,$c,$(strip $1))

                words:; echo $(call clist,$(words))

                $ make
                echo first,second,third,fourth,fifth,sixth
                first,second,third,fourth,fifth,sixth






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Feb 20 at 14:46

























                answered Feb 20 at 13:07









                mosvymosvy

                7,9021530




                7,9021530






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • 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%2funix.stackexchange.com%2fquestions%2f501820%2fassigning-comma-separated-lines-to-a-variable%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

                    How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                    is 'sed' thread safe

                    How to make a Squid Proxy server?