Added pre-build actions:
[emacs-color-theme.git] / Makefile
blob029554ebf6f11820da01265920194fd0bbde8e6d
1 # -*- Makefile -*-
3 # Borrowed from many emacs places
5 include Makefile.defs
7 SPECIAL =
8 UNCOMPILED =
9 AUTOLOADFILE = color-theme-autoloads
10 TESTING =
11 THEMES_DIRECTORY = themes
12 THEMES_FILES := $(wildcard $(THEMES_DIRECTORY)/*.el)
13 ALLSOURCE := $(wildcard *.el) $(THEMES_FILES)
14 SOURCE = $(filter-out $(SPECIAL) $(UNCOMPILED) $(TESTING),$(ALLSOURCE))
15 TARGET = $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE))
16 MANUAL = color-theme
17 MISC = AUTHORS COPYING ChangeLog Makefile.defs Makefile $(AUTOLOADFILE).in
18 #AUTHORS CREDITS HISTORY NEWS README Makefile ChangeLog \
19 #ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
20 #ChangeLog.2001 servers.pl color-theme-auto.in color-theme.texi
22 all: lisp #$(MANUAL).info
24 lisp: clean $(TARGET)
26 autoloads: $(AUTOLOADFILE).elc
28 $(AUTOLOADFILE).el: $(AUTOLOADFILE).in #$(TARGET)
29 cp $(AUTOLOADFILE).in $(AUTOLOADFILE).el
30 rm -f $(AUTOLOADFILE).elc
31 @$(EMACS) -q $(SITEFLAG) -batch \
32 -l $(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/$(AUTOLOADFILE) \
33 -f color-theme-generate-autoloads \
34 $(shell pwd | sed -e 's|^/cygdrive/\([a-z]\)|\1:|')/$(AUTOLOADFILE).el . \
35 $(THEMES_DIRECTORY)
37 $(AUTOLOADFILE).elc: $(AUTOLOADFILE).el
38 @echo "Byte compiling the autoload file "$<
39 @$(EMACS) -batch -q -f batch-byte-compile $^
40 @echo "*******************************************************************"
41 @echo "Autoloads up to date. Put the following lines in your configuration"
42 @echo "file (~/.emacs for a single user) :"
43 @echo
44 @echo ${patsubst %, "(add-to-list 'load-path \""%"\") ", $(LISPDIRS)}
45 @echo "(require 'color-theme-autoload \""$(AUTOLOADFILE)"\")"
46 @echo
48 %.elc: %.el
49 @$(EMACS) $(OPTIONCOMPILE) \
50 --eval '(setq load-path (cons "." load-path))' \
51 -f batch-byte-compile $<
53 %.info: %.texi
54 @echo "No doc yet !"
55 # makeinfo $<
57 %.html: %.texi
58 @echo "No doc yet !"
59 # makeinfo --html --no-split $<
61 doc: $(MANUAL).info $(MANUAL).html
62 @echo "No doc yet !"
64 clean:
65 -rm -f themes/*.elc
66 -rm -f *~ *.elc $(AUTOLOADFILE).el
68 realclean: clean
69 -rm -f $(MANUAL).info $(MANUAL).html $(TARGET) $(SPECIAL)
71 install-info: $(MANUAL).info
72 [ -d $(INFODIR) ] || install -d $(INFODIR)
73 install -m 0644 $(MANUAL).info $(INFODIR)/$(MANUAL)
74 $(INSTALLINFO) $(INFODIR)/$(MANUAL)
76 install-bin: lisp
77 install -d $(ELISPDIR)
78 install -d $(ELISPDIR)/themes
79 install -m 0644 $(ALLSOURCE) $(TARGET) $(ELISPDIR)
80 install -m 0644 $(THEMES_FILES) $(TARGET) $(ELISPDIR)/themes
82 install: install-bin install-info
84 ## DO NOT TOUCH THIS !
85 ## HELPERS FOR MAINTAINER(S)
86 distclean:
87 -rm $(MANUAL).info $(MANUAL).html $(TARGET)
88 -rm -Rf ../$(DISTDIR)
89 -rm -f debian/dirs debian/files
90 -rm -rf $(DISTDIR) $(TARBALL)* $(ZIPFILE)* $(DEBNAME)*
92 dist: distclean Makefile
93 $(MAKE) dist-prepare
95 # Idea taken from w3m-el
96 dist-prepare: CVS/Root CVS/Repository
97 cvs -d $(CVSROOT) -w export -d $(DISTDIR) -r $(CVSBRANCH) $(CVSMODULE)
98 -cvs diff |( cd $(DISTDIR) && patch -p0 )
100 $(TARBALL): tarball
101 $(DEBNAME): debian
103 tarball: dist
104 find $(DISTDIR) -name .cvsignore | xargs rm -f
105 find $(DISTDIR) -name debian | xargs rm -fr
106 find $(DISTDIR) -type d | xargs chmod 755
107 find $(DISTDIR) -type f | xargs chmod 644
109 tar -cf `basename $(TARBALL) .gz` $(DISTDIR)
110 gzip -9 `basename $(TARBALL) .gz`
111 zip -r $(ZIPFILE) $(DISTDIR)
112 gpg --detach $(TARBALL)
113 gpg --detach $(ZIPFILE)
115 debian: dist
116 (cd $(DISTDIR) && \
117 dpkg-buildpackage -v$(LASTUPLOAD) $(BUILDOPTS) \
118 -us -uc -rfakeroot && \
119 echo "Running lintian ..." && \
120 lintian -i ../$(DEBNAME)*.deb || : && \
121 echo "Done running lintian." && \
122 debsign)
124 cp $(DEBNAME)* /var/spool/repo
125 (cd /var/spool/repo && \
126 dpkg-scanpackages . /dev/null | gzip -9 > Packages.gz && \
127 dpkg-scansources . | gzip -9 > Sources.gz)
129 release: $(DEBNAME) $(TARBALL)
130 rm -rf $(DISTDIR)
131 $(MAKE) upload distclean
133 upload:
134 (cd /var/spool/repo && echo open perso.nerim.net > upload.lftp ; \
135 echo cd /var/spool/repo >> upload.lftp ; \
136 echo mput * >> upload.lftp ; \
137 echo close >> upload.lftp ; \
138 lftp -f upload.lftp ; \
139 rm -f upload.lftp)
140 (scp $(ZIPFILE)* $(TARBALL)* \
141 zeDek@download.gna.org:/upload/color-theme)