* org-contrib/babel/languages/ob-doc-makefile.org: Documentation for
authorThomas Dye <tsd@tsdye.com>
Sat, 27 Oct 2012 16:45:06 +0000 (06:45 -1000)
committerThomas Dye <tsd@tsdye.com>
Sat, 27 Oct 2012 16:45:06 +0000 (06:45 -1000)
  makefile source code blocks.

org-contrib/babel/languages/ob-doc-makefile.org [new file with mode: 0644]

diff --git a/org-contrib/babel/languages/ob-doc-makefile.org b/org-contrib/babel/languages/ob-doc-makefile.org
new file mode 100644 (file)
index 0000000..3239490
--- /dev/null
@@ -0,0 +1,83 @@
+#+OPTIONS:    H:3 num:nil toc:2 \n:nil @:t ::t |:t ^:{} -:t f:t *:t TeX:t LaTeX:t skip:nil d:(HIDE) tags:not-in-toc
+#+STARTUP:    align fold nodlcheck hidestars oddeven lognotestate hideblocks
+#+SEQ_TODO:   TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
+#+TAGS:       Write(w) Update(u) Fix(f) Check(c) noexport(n)
+#+TITLE:      Makefile Source Code Blocks in Org Mode
+#+AUTHOR:     Thomas S. Dye
+#+EMAIL:      tsd[at]tsdye[dot]com
+#+LANGUAGE:   en
+#+STYLE:      <style type="text/css">#outline-container-introduction{ clear:both; }</style>
+#+LINK_UP:    ../languages.html
+#+LINK_HOME:  http://orgmode.org/worg/
+#+EXPORT_EXCLUDE_TAGS: noexport
+
+#+name: banner
+#+begin_html
+  <div id="subtitle" style="float: center; text-align: center;">
+  <p>
+  Org Mode support for <a
+  href="http://www.gnu.org/software/make/manual/make.html">`make'</a>
+  </p>
+  </div>
+#+end_html
+
+* Template Checklist [12/12]                                       :noexport:
+  - [X] Revise #+TITLE:
+  - [X] Indicate #+AUTHOR:
+  - [X] Add #+EMAIL:
+  - [X] Revise banner source block [3/3]
+    - [X] Add link to a useful language web site
+    - [X] Replace "Language" with language name
+    - [X] Find a suitable graphic and use it to link to the language
+      web site
+  - [X] Write an [[Introduction]]
+  - [X] Describe [[Requirements%20and%20Setup][Requirements and Setup]]
+  - [X] Replace "Language" with language name in [[Org%20Mode%20Features%20for%20Language%20Source%20Code%20Blocks][Org Mode Features for Language Source Code Blocks]]
+  - [X] Describe [[Header%20Arguments][Header Arguments]]
+  - [X] Describe support for [[Sessions]]
+  - [X] Describe [[Result%20Types][Result Types]]
+  - [X] Describe [[Other]] differences from supported languages
+  - [X] Provide brief [[Examples%20of%20Use][Examples of Use]]
+* Introduction
+The =make= program is a dependency-tracking build utility that is
+distributed with *nix systems.  There are several =make= programs,
+but they each generally look for a file named =makefile= or
+=Makefile=, which contains rules for building one or more targets.
+=ob-makefile.el= helps the =Org mode= user tangle a =makefile= using
+source code blocks.
+
+Currently, =ob-makefile.el= is useful only for tangling a
+=makefile=.  Hopefully, at some point in the future it will support
+variables. 
+* Requirements and Setup
+
+The =make= program is a somewhat unusual *nix utility because the
+=TAB= character is an important part of the syntax.
+
+Emacs includes a [[http://www.emacswiki.org/emacs/MakefileMode][makefile-mode]] for editing the =makefile= code.
+
+For tangling to work, the variable =org-src-preserve-indentation= must
+be non-nil, so that tabs aren't lost in the Org mode buffer.
+
+#+begin_src emacs-lisp :exports code
+  (setq org-src-preserve-indentation t)
+#+end_src
+
+Currently, there is no need to activate makefile with
+=org-babel-do-load-languages=, but it won't hurt to do so.
+
+#+begin_src emacs-lisp :exports code
+  (org-babel-do-load-languages
+   'org-babel-load-languages
+   '((makefile . t)))
+#+end_src
+
+* Org Mode Features for Makefile Source Code Blocks
+** Header Arguments
+There are no language-specific default values or header arguments for =makefile=.
+** Sessions
+=makefile= doesn't support sessions.
+
+** Result Types
+=makefile= source code blocks currently don't return results. They
+exist solely for tangling.