Re-organise the build.
[emoney] / build.el
1 ;;; build.el --- Builds eMoney.
2 ;;
3 ;; Copyright (C) 2006 Sebastian Freundt
4 ;; Copyright (C) 2007 - 2011 Steve Youngs
5 ;;
6 ;; Author: Sebastian Freundt <hroptatyr@sxemacs.org>
7 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
8 ;; Keywords: internal
9 ;;
10 ;; This file is part of eMoney.
11
12 ;; Redistribution and use in source and binary forms, with or without
13 ;; modification, are permitted provided that the following conditions
14 ;; are met:
15 ;;
16 ;; 1. Redistributions of source code must retain the above copyright
17 ;;    notice, this list of conditions and the following disclaimer.
18 ;;
19 ;; 2. Redistributions in binary form must reproduce the above copyright
20 ;;    notice, this list of conditions and the following disclaimer in the
21 ;;    documentation and/or other materials provided with the distribution.
22 ;;
23 ;; 3. Neither the name of the author nor the names of any contributors
24 ;;    may be used to endorse or promote products derived from this
25 ;;    software without specific prior written permission.
26 ;;
27 ;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
28 ;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29 ;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30 ;; DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31 ;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 ;; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 ;; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
34 ;; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
35 ;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
36 ;; OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
37 ;; IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 ;;
39 ;;; Synched up with: Not in FSF.
40
41 ;;; Commentary:
42 ;;
43 ;;  This file is only used during eMoney builds, it does what the name
44 ;;  implies... builds the lisp, plus it generates auto-autoloads.el,
45 ;;  custom-load.el and custom-define.el files.
46
47 ;;; Code:
48 (setq stack-trace-on-error t)
49
50 (defvar wd default-directory)
51 (push wd load-path)
52
53 (defvar needed '(cus-dep autoload bytecomp byte-optimize))
54 (mapcar #'require needed)
55
56 (let ((pname "emoney")
57       (adir wd))
58   (update-autoload-files adir pname)
59   (Custom-make-dependencies adir)
60   (update-custom-define-files adir pname))
61
62 (defvar srcfiles
63   '(auto-autoloads.el 
64     custom-load.el 
65     custom-defines.el
66     emoney.el
67     emoney-version.el))
68                       
69 (mapcar
70  #'(lambda (sym)
71      (let ((file (symbol-name sym)))
72        (byte-compile-file (expand-file-name file wd))))
73  srcfiles)
74
75 ;; indicate success
76 (kill-emacs 0)
77
78 ;;; build.el ends here