src: lib-src
# We need to build 'emacs' in 'src' to compile the *.elc files in 'lisp'.
-lisp: src
+lisp: src elpa
# These targets should be "${SUBDIR} without 'src'".
-lib lib-src lisp nt: Makefile
+elpa lib lib-src lisp nt: Makefile
$(MAKE) -C $@ all
# Ideally, VCSWITNESS should be a file that is modified whenever the
### target for GCC does not delete 'libgcc.a', because recompiling it
### is rarely necessary and takes a lot of time.
mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/emacs doc/misc \
- doc/lispref doc/lispintro
+ doc/lispref doc/lispintro elpa
$(foreach dir,$(mostlyclean_dirs),$(eval $(call submake_template,$(dir),mostlyclean)))
# would require changing every rule in doc/ that builds an info file,
# and it's not worth it. This case is only relevant if you download a
# release, then change the .texi files.
-info:
+info: elpa
ifneq ($(HAVE_MAKEINFO),no)
$(MAKE) info-real info-dir
endif
AC_SUBST(gamedir)
AC_SUBST(gameuser)
AC_SUBST(gamegroup)
+AC_SUBST(elpadir)
## FIXME? Nothing uses @LD_SWITCH_X_SITE@.
## src/Makefile.in did add LD_SWITCH_X_SITE (as a cpp define) to the
## end of LIBX_BASE, but nothing ever set it.
AC_CONFIG_FILES([$srcdir/doc/man/emacs.1])
m4_define([subdir_makefiles],
- [lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile])
+ [lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile elpa/Makefile])
SUBDIR_MAKEFILES="subdir_makefiles"
AC_CONFIG_FILES(subdir_makefiles)
+all: ensure-dir repo working/pabbrev
+
ensure-dir:
- -mkdir working
- -mkdir ../lisp/elpa
- -mkdir ../test/lisp/elpa
+ - mkdir working
+ - mkdir ../lisp/elpa
+ - mkdir ../test/lisp/elpa
repo:
git clone --mirror https://git.savannah.gnu.org/git/emacs/elpa.git repo
repo-update: repo
cd repo;git fetch --all
-pabbrev:
- - mkdir pabbrev
- cd repo;git archive d28cf8632d2691dc93afbb28500126242d37961c | tar xv --directory ../pabbrev
- cp pabbrev/pabbrev.el ../lisp/elpa/
+working/pabbrev:
+ ./bin/deploy-elpa d28cf8632d2691dc93afbb28500126242d37961c pabbrev
+
+clean:
+ rm -rf working
+ rm -rf ../lisp/elpa
+ rm -rf ../test/lisp/elpa
+
+distclean: clean
+ rm -rf repo
shopt -s extglob
generate_source(){
- git_treeish = $1
- package_name = $2
+ git_treeish=$1
+ package_name=$2
+ echo git_treeish $git_treeish
+ echo package_name $package_name
mkdir working/$package_name
cd repo
- git archive $i | tar xv --directory ../working/$package_name
+ git archive $git_treeish | tar xv --directory ../working/$package_name
+ cd ..
}
deploy_source(){
- package_name = $1
+ package_name=$1
cd working/$package_name
- cp *!(test)*.el ../../lisp/elpa
- cp *.texi ../../doc/elpa
- cp *test*.el ../../test/lisp/elpa
+ rsync -i --ignore-missing-args *!(test)*.el ../../../lisp/elpa
+ rsync -i --ignore-missing-args *.texi ../../../doc/elpa
+ rsync -i --ignore-missing-args *test*.el ../../../test/lisp/elpa
}
+
+generate_source $1 $2
+deploy_source $2