*** empty log message ***
[ess.git] / lisp / Makefile
blob81b29ccedd6e20ded394537e501869746fa39c7f
1 ### Makefile - for compiled e-lisp of ESS distribution.
2 ###
3 ### File: $Revision: 5.54 $.
4 ###
6 ## Before making changes here, please take a look at Makeconf
7 include ../Makeconf
9 ## For noweb extraction of code and documentation.
11 NOTANGLE=notangle -L
12 #NOTANGLE=notangle for no indexing.
13 NOWEAVE=noweave
15 ## SUFFIXES are in ../Makeconf :
16 .nw.html: ; $(NOWEAVE) -filter l2h -index -html $*.nw > $*.html
17 .nw.tex: ; $(NOWEAVE) -index -delay $*.nw | cpif $*.tex
18 .nw.el: ; $(NOTANGLE) -R$*.el | cpif $*.el
19 ##.nw.c: ; $(NOTANGLE) -R$*.c | cpif $*.c
20 ##.nw.h: ; $(NOTANGLE) -R$*.h | cpif $*.h
21 .tex.dvi: ; latex '\scrollmode \input '"$*"; while grep -s 'Rerun to get cross-references right' $*.log; do latex '\scrollmode \input '"$*"; done
23 # have to preload the files that contain macro definitions or the
24 # byte compiler will compile everything that references them
25 # incorrectly. also preload a file that sets byte compiler options.
26 PRELOADS = -l ./ess-comp.el
29 ## files that contain key macro definitions. almost everything
30 ## depends on them because the byte-compiler inlines macro expansions.
31 ## everything also depends on the byte compiler options file since
32 ## this might do odd things like turn off certain compiler
33 ## optimizations. When these change, RECOMPILE.
34 CORE = ess.elc ess-site.elc
36 ELC = ess-cust.elc $(CORE) \
37 ess-emcs.elc ess-utils.elc \
38 ess-inf.elc ess-iw32.elc \
39 ess-mode.elc ess-trns.elc ess-help.elc \
40 ess-comp.elc \
41 ess-menu.elc ess-mous.elc mouseme.elc \
42 essl-s.elc essd-s3.elc essd-s4.elc \
43 essd-sp3.elc essd-sp4.elc essd-sp5.elc essd-sp6.elc \
44 essd-r.elc \
45 essd-els.elc \
46 essl-lsp.elc essd-xls.elc essd-vst.elc essd-arc.elc \
47 essl-sas.elc essd-sas.elc essa-sas.elc \
48 essl-sta.elc essd-sta.elc make-regexp.elc \
49 essl-omg.elc essd-omg.elc \
50 essl-bug.elc \
51 ess-noweb.elc noweb-mode.elc noweb-font-lock-mode.elc \
52 ess-font-lock.elc \
53 essa-r.elc ess-toolbar.elc\
54 essddr.elc
56 ### Targets
58 all: $(ELC)
60 install: $(ELC)
61 -$(INSTALLDIR) $(LISPDIR)
62 $(INSTALL) *.elc $(LISPDIR)
63 # test "$(LISPDIR)" = "." || $(INSTALL) *.elc $(LISPDIR)
65 dist: ess-cust.el
66 @touch dist
67 ## svn committing happens in ../Makefile
69 clean:
70 rm -f $(ELC)
72 distclean: clean
73 # and potentially more
76 ### Targets below here are only for developers.
78 ### Replace Version numbers (as in ../doc/Makefile !):
79 ess-cust.el: ../VERSION
80 # perl -pi -e 's/".*"/"$(shell cat $^)"/ if /ess-version/' $@
81 cp -p ess-cust.el ess-temp.el
82 $(SED) -e "s/(defvar ess-version \".*\"/(defvar ess-version \"$(ESSVERSION)\"/" ess-temp.el > ess-cust.el
83 rm ess-temp.el
85 ### File Dependencies
87 .el.elc:
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)
100 @echo " "
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)
109 @echo " "
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)
117 @echo " "
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)
125 ## S languages
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 ## Lisp Languages
141 essl-lsp.elc : essl-lsp.el ess.elc
143 essd-xls.elc : essd-xls.el essl-lsp.elc ess.elc
145 essd-vst.elc : essd-vst.el essl-lsp.elc ess.elc
147 ## SAS
149 essl-sas.elc : essl-sas.el ess.elc
151 essd-sas.elc : essd-sas.el essl-sas.elc ess.elc
153 ## Stata
155 essl-sta.elc : essl-sta.el ess.elc
157 essd-sta.elc : essd-sta.el ess.elc
159 # Ignore this.
160 #(defun S-insert-make-rule (file)
161 # (interactive "sFile:")
162 # (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)))