Differences

This shows you the differences between two versions of the page.

wiki:reproguide [2014/05/14 01:08]
yang
wiki:reproguide [2015/05/27 02:06] (current)
Line 43: Line 43:
2. make clean;     burn all figures, and also clean the executables and the intermediate result file (.H). 2. make clean;     burn all figures, and also clean the executables and the intermediate result file (.H).
-3. make NR;       build NR figures; (this could be a simple copy from a backup folder).+3. make EXE;      build all executables used for this report
-4. make ER;        build ER figures+4. make NR;        build NR figures; (this could be a simple copy from a backup folder).
-5. make CR;        build CR figures+5. make ER;        build ER figures
-Again, you can back up your figures to a separate folder, but it is not OK to just copy them back to directory Fig in those figures making rules.+6. make CR;        build CR figures 
 + 
 +Again, you can back up your figures to a separate folder, but it is not OK to just copy them back to directory Fig in those figures-making rules
 + 
 +==== Reproducibility file organization on CEES computers ===== 
 + 
 +People using CEES computers for their computation usually involves PBS and python scripts, etc. Putting the entire workflow into a makefile is sometimes a difficult task. Nonetheless, you can still organize your reproducibility workflow around the Makefile, and the criterion for the reproducibility does not change, i.e. the code should compile, the ER flow is present and can be generated successfully by a tester, the CR flow is present. 
 + 
 +So In the makefile, you should still have complete flows for each figure in your paper. If computing a figure involves running a script, you should record the cmd the runs the script in the makefile. You can add some comments for better readability as well.
==== FAQs ==== ==== FAQs ====
Line 78: Line 86:
Use the '-n' option in Make. This option allows the user to see all the commands that GNUmake would execute for this target, but without actually executing them. For example, to test target.H, enter '' make -n target.H'' rather than ''make target.H''. The terminal will display the commands that would be run as well as report any mistakes you may have made, such as a filename typo in the dependency list. Use the '-n' option in Make. This option allows the user to see all the commands that GNUmake would execute for this target, but without actually executing them. For example, to test target.H, enter '' make -n target.H'' rather than ''make target.H''. The terminal will display the commands that would be run as well as report any mistakes you may have made, such as a filename typo in the dependency list.
 +
 +
 +==== Common Dos and Don'ts ====
 +//1. Unless intended, DO NOT set the permission of any of your files to be "r w x - - - - - - ", this would block anybody else's access. //
 +
==== Tips ==== ==== Tips ====
1. put a dash '-' at the beginning of the command, if you want Make to ignore the encountered error and continue the flow. 1. put a dash '-' at the beginning of the command, if you want Make to ignore the encountered error and continue the flow.
-For eg. (remove the double quotes below)+For eg. (remove the double quotes below):\\
 +<code>
buildx: buildx:
    "-" mkdir bin     "-" mkdir bin
    make bin/exe.x     make bin/exe.x
 +</code>
2. Use make '-t' option to tell gmake that certain target with all its dependencies are up-to-date, thus prevent gmake from regenerating them by accident. Reversely, use make '-B' to force gmake to rebuild certain target from scratch. 2. Use make '-t' option to tell gmake that certain target with all its dependencies are up-to-date, thus prevent gmake from regenerating them by accident. Reversely, use make '-B' to force gmake to rebuild certain target from scratch.
 +
 +3. One suggested practice is to put the file names of your reproducibility figures as the dependencies for the 'ER' and 'CR' target. i.e. : \\
 +<code>
 +ER: $R/fig1.pdf $R/fig2.pdf
 +</code>
 +is much better than:\\
 +<code>
 +ER:
 +  make $R/fig1.pdf
 +  make $R/fig2.pdf
 +</code>
 +Because in the latter case, GMake is able to check the dependencies tree for each figure.
 +
/web/html/data/attic/wiki/reproguide.1400029720.txt.gz · Last modified: 2015/05/26 22:41 (external edit)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0