1 ### Makefile - for compiled e-lisp of ESS distribution.
4 ## Before making changes here, please take a look at Makeconf
7 ## For noweb extraction of code and documentation.
10 #NOTANGLE=notangle for no indexing.
13 ## SUFFIXES are in ../Makeconf :
14 .nw.html
: ; $(NOWEAVE
) -filter l2h
-index
-html
$*.nw
> $*.html
15 .nw.
tex: ; $(NOWEAVE
) -index
-delay
$*.nw | cpif
$*.
tex
16 .nw.el
: ; $(NOTANGLE
) -R
$*.el | cpif
$*.el
17 ##.nw.c: ; $(NOTANGLE) -R$*.c | cpif $*.c
18 ##.nw.h: ; $(NOTANGLE) -R$*.h | cpif $*.h
19 .
tex.
dvi: ; latex
'\scrollmode \input '"$*"; while grep
-s
'Rerun to get cross-references right' $*.log
; do latex
'\scrollmode \input '"$*"; done
21 # have to preload the files that contain macro definitions or the
22 # byte compiler will compile everything that references them
23 # incorrectly. also preload a file that sets byte compiler options.
24 PRELOADS
= -l .
/ess-comp.el
27 ## files that contain key macro definitions. almost everything
28 ## depends on them because the byte-compiler inlines macro expansions.
29 ## everything also depends on the byte compiler options file since
30 ## this might do odd things like turn off certain compiler
31 ## optimizations. When these change, RECOMPILE.
32 CORE
= ess.elc ess-site.elc
34 ### Everything but ess-debug.el, ess-install.el
35 ### ess-send.el , ess-send2.el
36 ### DEPRECATED: essl-bug.el
37 ### [WHY_??_] msdos.elc essd-sp6w.elc
39 ELC
= $(CORE
) ess-comp.elc ess-cust.elc \
40 ess-dde.elc ess-emcs.elc ess-font-lock.elc \
41 ess-help.elc ess-inf.elc ess-mode.elc \
42 ess-menu.elc ess-mous.elc mouseme.elc \
43 ess-swv.elc ess-toolbar.elc \
44 ess-trns.elc ess-utils.elc \
45 essl-s.elc essd-s3.elc essd-s4.elc \
46 essd-sp3.elc essd-sp4.elc essd-sp5.elc essd-sp6.elc \
47 essd-r.elc ess-rdired.elc essd-r-args.elc \
49 essl-lsp.elc essd-xls.elc essd-vst.elc essd-arc.elc \
50 essl-sas.elc essd-sas.elc essa-sas.elc \
51 essl-sta.elc essd-sta.elc make-regexp.elc \
52 essl-omg.elc essd-omg.elc \
53 essl-bugs.elc essd-bugs.elc essd-jags.elc \
54 ess-noweb.elc noweb-mode.elc noweb-font-lock-mode.elc \
62 -$(INSTALLDIR
) $(LISPDIR
)
63 $(INSTALL
) ChangeLog
*.elc
$(LISPDIR
)
64 export J
; for I in
*.elc
; do J
=$$I; $(INSTALL
) `basename $$J .elc`.el
$(LISPDIR
); done
65 # test "$(LISPDIR)" = "." || $(INSTALL) *.elc $(LISPDIR)
69 ## svn committing happens in ../Makefile
75 # and potentially more
78 ### Targets below here are only for developers - and these must have perl
80 ### Replace Version numbers (as in ../doc/Makefile !):
81 ess-cust.el
: ..
/VERSION
82 perl
-pi
-e
's/".*"/"$(ESSVERSION)"/ if /ess-version/' $@
88 $(EMACSBATCH
) $(PRELOADS
) -f batch-byte-compile
$<
91 ess-cust.elc
: ess-cust.el
92 $(EMACSBATCH
) $(PRELOADS
) -f batch-byte-compile ess-cust.el
94 ess.elc
: ess.el ess-cust.elc
95 $(EMACSBATCH
) $(PRELOADS
) -l ess-cust.elc
-f batch-byte-compile ess.el
97 ess-site.elc
: ess-site.el ess.elc
99 ess-inf.elc
: ess-inf.el
$(CORE
)
101 @echo
"For the next compile, please disregard the messages"
102 @echo
" ** the function set-keymap-parent is not known to be defined."
103 @echo
" ** assignment to free variable comint-last-input-end"
104 @echo
"from the byte compiler if they occur. It is completely normal."
105 $(EMACSBATCH
) $(PRELOADS
) -f batch-byte-compile ess-inf.el
108 ess-mode.elc
: ess-mode.el
$(CORE
)
110 @echo
"For the next compile, please disregard the message"
111 @echo
" ** the function set-keymap-parent is not known to be defined."
112 @echo
" ** variable last-sexp bound but not referenced"
113 @echo
"from the byte compiler if they occur. It is completely normal."
114 $(EMACSBATCH
) $(PRELOADS
) -f batch-byte-compile ess-mode.el
116 ess-trns.elc
: ess-trns.el
$(CORE
)
118 @echo
"For the next compile, please disregard the message"
119 @echo
" ** the function set-keymap-parent is not known to be defined."
120 @echo
"from the byte compiler if it occurs. It is completely normal."
121 $(EMACSBATCH
) $(PRELOADS
) -f batch-byte-compile ess-trns.el
123 ess-help.elc
: ess-help.el
$(CORE
)
127 essl-s.elc
: essl-s.el ess.elc
129 essd-sas.elc
: essd-sas.el ess.elc
131 essd-s3.elc
: essd-s3.el essl-s.elc ess.elc
133 essd-sp3.elc
: essd-sp3.el essl-s.elc ess.elc
135 essd-s4.elc
: essd-s4.el essl-s.elc ess.elc
137 essd-r.elc
: essd-r.el essl-s.elc ess.elc
139 ess-swv.elc
: ess-swv.el ess-noweb.elc
143 essl-lsp.elc
: essl-lsp.el ess.elc
145 essd-xls.elc
: essd-xls.el essl-lsp.elc ess.elc
147 essd-vst.elc
: essd-vst.el essl-lsp.elc ess.elc
151 essl-sas.elc
: essl-sas.el ess.elc
153 essd-sas.elc
: essd-sas.el essl-sas.elc ess.elc
157 essl-sta.elc
: essl-sta.el ess.elc
159 essd-sta.elc
: essd-sta.el ess.elc
162 #(defun S-insert-make-rule (file)
163 # (interactive "sFile:")
164 # (insert (format "%s.elc: %s.el $(CORE)\n\t@echo compiling %s.el...\n\t@$(EMACSBATCH) $(PRELOADS) -f batch-byte-compile %s.el" file file file file)))