*** empty log message ***
[ess.git] / lisp / Makefile
blob95724013ecfc6708b430112f2354306e23362e9a
1 ### Makefile - for compiled e-lisp of ESS distribution.
2 ###
4 ## Before making changes here, please take a look at Makeconf
5 include ../Makeconf
7 ## For noweb extraction of code and documentation.
9 NOTANGLE=notangle -L
10 #NOTANGLE=notangle for no indexing.
11 NOWEAVE=noweave
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 ### ess-latex.el
37 ### DEPRECATED: essl-bug.el
38 ### [WHY_??_] msdos.elc essd-sp6w.elc
40 ELC = $(CORE) ess-comp.elc ess-cust.elc \
41 ess-dde.elc ess-emcs.elc ess-font-lock.elc \
42 ess-help.elc ess-inf.elc ess-mode.elc \
43 ess-menu.elc ess-mous.elc mouseme.elc \
44 ess-swv.elc ess-toolbar.elc \
45 ess-trns.elc ess-utils.elc \
46 essl-s.elc essd-s3.elc essd-s4.elc \
47 essd-sp3.elc essd-sp4.elc essd-sp5.elc essd-sp6.elc \
48 essd-r.elc ess-rdired.elc essd-r-args.elc \
49 essd-els.elc \
50 essl-lsp.elc essd-xls.elc essd-vst.elc essd-arc.elc \
51 essl-sas.elc essd-sas.elc essa-sas.elc \
52 essl-sta.elc essd-sta.elc make-regexp.elc \
53 essl-omg.elc essd-omg.elc \
54 essl-bugs.elc essd-bugs.elc essd-jags.elc \
55 ess-noweb.elc noweb-mode.elc noweb-font-lock-mode.elc \
56 essa-r.elc essddr.elc
58 ### Targets
60 all: $(ELC)
62 install: $(ELC)
63 -$(INSTALLDIR) $(LISPDIR)
64 $(INSTALL) ChangeLog *.elc $(LISPDIR)
65 export J; for I in *.elc; do J=$$I; $(INSTALL) `basename $$J .elc`.el $(LISPDIR); done
66 # test "$(LISPDIR)" = "." || $(INSTALL) *.elc $(LISPDIR)
68 dist: ess-cust.el
69 @touch dist
70 ## svn committing happens in ../Makefile
72 clean:
73 rm -f $(ELC)
75 distclean: clean
76 # and potentially more
79 ### Targets below here are only for developers - and these must have perl
81 ### Replace Version numbers (as in ../doc/Makefile !):
82 ess-cust.el: ../VERSION
83 perl -pi -e 's/".*"/"$(ESSVERSION)"/ if /ess-version/' $@
86 ### File Dependencies
88 .el.elc:
89 $(EMACSBATCH) $(PRELOADS) -f batch-byte-compile $<
92 ess-cust.elc: ess-cust.el
93 $(EMACSBATCH) $(PRELOADS) -f batch-byte-compile ess-cust.el
95 ess.elc: ess.el ess-cust.elc
96 $(EMACSBATCH) $(PRELOADS) -l ess-cust.elc -f batch-byte-compile ess.el
98 ess-site.elc: ess-site.el ess.elc
100 ess-inf.elc: ess-inf.el $(CORE)
101 @echo " "
102 @echo "For the next compile, please disregard the messages"
103 @echo " ** the function set-keymap-parent is not known to be defined."
104 @echo " ** assignment to free variable comint-last-input-end"
105 @echo "from the byte compiler if they occur. It is completely normal."
106 $(EMACSBATCH) $(PRELOADS) -f batch-byte-compile ess-inf.el
109 ess-mode.elc: ess-mode.el $(CORE)
110 @echo " "
111 @echo "For the next compile, please disregard the message"
112 @echo " ** the function set-keymap-parent is not known to be defined."
113 @echo " ** variable last-sexp bound but not referenced"
114 @echo "from the byte compiler if they occur. It is completely normal."
115 $(EMACSBATCH) $(PRELOADS) -f batch-byte-compile ess-mode.el
117 ess-trns.elc: ess-trns.el $(CORE)
118 @echo " "
119 @echo "For the next compile, please disregard the message"
120 @echo " ** the function set-keymap-parent is not known to be defined."
121 @echo "from the byte compiler if it occurs. It is completely normal."
122 $(EMACSBATCH) $(PRELOADS) -f batch-byte-compile ess-trns.el
124 ess-help.elc: ess-help.el $(CORE)
126 ## S languages
128 essl-s.elc : essl-s.el ess.elc
130 essd-sas.elc : essd-sas.el ess.elc
132 essd-s3.elc : essd-s3.el essl-s.elc ess.elc
134 essd-sp3.elc : essd-sp3.el essl-s.elc ess.elc
136 essd-s4.elc : essd-s4.el essl-s.elc ess.elc
138 essd-r.elc : essd-r.el essl-s.elc ess.elc
140 ess-swv.elc: ess-swv.el ess-noweb.elc
142 ## Lisp Languages
144 essl-lsp.elc : essl-lsp.el ess.elc
146 essd-xls.elc : essd-xls.el essl-lsp.elc ess.elc
148 essd-vst.elc : essd-vst.el essl-lsp.elc ess.elc
150 ## SAS
152 essl-sas.elc : essl-sas.el ess.elc
154 essd-sas.elc : essd-sas.el essl-sas.elc ess.elc
156 ## Stata
158 essl-sta.elc : essl-sta.el ess.elc
160 essd-sta.elc : essd-sta.el ess.elc
162 # Ignore this.
163 #(defun S-insert-make-rule (file)
164 # (interactive "sFile:")
165 # (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)))