<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://woodruffscientific.com/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://woodruffscientific.com/wiki/feed.php">
        <title>WSI Code Wiki wiki:make</title>
        <description></description>
        <link>http://woodruffscientific.com/wiki/</link>
        <image rdf:resource="http://woodruffscientific.com/wiki/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-10-24T02:37:13+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:basics&amp;rev=1658408372&amp;do=diff"/>
                <rdf:li rdf:resource="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:compile&amp;rev=1658408372&amp;do=diff"/>
                <rdf:li rdf:resource="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:introdution&amp;rev=1658408372&amp;do=diff"/>
                <rdf:li rdf:resource="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:patterns_rules&amp;rev=1658408372&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://woodruffscientific.com/wiki/lib/tpl/dokuwiki/images/favicon.ico">
        <title>WSI Code Wiki</title>
        <link>http://woodruffscientific.com/wiki/</link>
        <url>http://woodruffscientific.com/wiki/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:basics&amp;rev=1658408372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-21T06:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:make:basics</title>
        <link>http://woodruffscientific.com/wiki/doku.php?id=wiki:make:basics&amp;rev=1658408372&amp;do=diff</link>
        <description>Basics

To illustrate how Make works, here&#039;s the an example from our shell lecture:
To analyse some molecule data we wrote two scripts: sorted_lengths.sh &amp; middle.sh.
sorted_lengths.sh determines the number of lines in each file and saves the files sorted by length in</description>
    </item>
    <item rdf:about="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:compile&amp;rev=1658408372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-21T06:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:make:compile</title>
        <link>http://woodruffscientific.com/wiki/doku.php?id=wiki:make:compile&amp;rev=1658408372&amp;do=diff</link>
        <description>Compiling Code

To compile code we use a compiler. Popular choices for Fortran and C are either gcc or intel compilers. In this example we will look at compiling Fortran with gfortran. gfortran is an open source GNU compiler. It is actually more than just a compiler. When we call gfortran we are calling a compiler driver which decides what tasks to send to a fortran compiler, assembler and linker. Often we have a source code that consists of many different files. Subroutines in each file are cal…</description>
    </item>
    <item rdf:about="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:introdution&amp;rev=1658408372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-21T06:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:make:introdution</title>
        <link>http://woodruffscientific.com/wiki/doku.php?id=wiki:make:introdution&amp;rev=1658408372&amp;do=diff</link>
        <description>Make

A common way to work with research codes is the following:

	*  Fix a bug or add a feature by editing source files.
	*  Recompile the source files into executable form
	*  Run the executable 

MHD codes are made up of many files of Fortran and / or C++. If we want to fix a bug or add a feature to one of the files we have to recompile the program. However, the files contain subroutines, functions, classes, etc. that are called by code in other files. I.e. they all depend on each other. We h…</description>
    </item>
    <item rdf:about="http://woodruffscientific.com/wiki/doku.php?id=wiki:make:patterns_rules&amp;rev=1658408372&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-21T06:59:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:make:patterns_rules</title>
        <link>http://woodruffscientific.com/wiki/doku.php?id=wiki:make:patterns_rules&amp;rev=1658408372&amp;do=diff</link>
        <description>Automatic Variables

We have some redundancy in our current makefile. We repeat the dependencies in the command. We can remove this redundancy by using the somewhat cryptic $^. $^ is an automatic variable: it means “all the prerequisites of this rule</description>
    </item>
</rdf:RDF>
