Re[1]: [CEDET-devel] CEDET Makefile
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2003-09-16 02:49:52
|
David, That's great. A good way to avoid a `doit' type rule is to declare a given rule as phony, like this: >clean-%.el: doit > $(RM) $(word 2,$(subst -, ,$@))/$(subst clean-,,$@) becomes .PHONY: clean-speedbar.el clean-speedbar.el: $(RM) $(word 2,$(subst -, ,$@))/$(subst clean-,,$@) but I'm not sure about the inference rule. Perhaps it would be better to have EDE create clean-grammars, clean-info, etc, as needed in each project, then this Makefile could have just: .PHONY: clean-grammars clean-grammars: cd speedbar; $(MAKE) $@ cd eieio; $(MAKE) $@ ... In the meantime, I think this is a great place to start, and would be good for beta1. Thanks Eric >>> David Ponce <dav...@wa...> seems to think that: >Eric, > >Here is a cedet/Makefile I concocted to help me build and maintain >the cedet distribution. Probably it requires GNU make, and cygwin >tools on Windows. > >Maybe it could serve as a starting point for a main cedet Makefile? > >David > >## Makefile --- Definition file for building CEDET >## >## Copyright (C) 2003 by David Ponce >## >## Author: David Ponce <da...@dp...> >## Maintainer: CEDET developers <http://sf.net/projects/cedet> >## Created: 12 Sep 2003 >## X-RCS: $Id$ >## >## This program is free software; you can redistribute it and/or >## modify it under the terms of the GNU General Public License as >## published by the Free Software Foundation; either version 2, or >## (at your option) any later version. >## >## This program is distributed in the hope that it will be useful, but >## WITHOUT ANY WARRANTY; without even the implied warranty of >## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >## GNU General Public License for more details. >## >## You should have received a copy of the GNU General Public License >## along with GNU Emacs; see the file COPYING. If not, write to the >## Free Software Foundation, Inc., 59 Temple Place - Suite 330, >## Boston, MA 02111-1307, USA. > >CEDET_PACKAGES=\ >ede \ >speedbar \ >eieio \ >semantic \ >cogre > >CEDET_LOADDEFS=\ >ede-loaddefs.el \ >speedbar-defs.el \ >eieio-defs.el \ >semantic-al.el \ >cogre-defs.el > >EMACS=/opt/emacs-20.7/bin/emacs >SHELL=bash >DOMAKE=$(MAKE) $(MFLAGS) EMACS="$(EMACS)" SHELL="$(SHELL)" >FIND=find > >## Build >## > >all: $(CEDET_PACKAGES) > >$(CEDET_PACKAGES): doit > cd $@ && $(DOMAKE) > >## Update >## > >autoloads: $(CEDET_LOADDEFS) > >$(CEDET_LOADDEFS): doit > cd $(firstword $(subst -, ,$@)) && $(DOMAKE) $@ > >recompile: autoloads > $(EMACS) -batch -q --no-site-file -l common/cedet.el \ > -f batch-byte-recompile-directory $(CEDET_PACKAGES) > >## Cleanup >## > >clean-autoloads: $(patsubst %,clean-%,$(CEDET_LOADDEFS)) > >clean-%.el: doit > $(RM) $(word 2,$(subst -, ,$@))/$(subst clean-,,$@) > >clean-grammars: doit > $(FIND) . -type f -name "*-[bw]y.el" ! -name "semantic-grammar-wy.el" \ > -print -exec $(RM) {} \; > >clean-info: doit > $(FIND) . -type f -name "*.info*" \ > -print -exec $(RM) {} \; > >clean-elc: doit > $(FIND) . -type f -name "*.elc" \ > -print -exec $(RM) {} \; > >clean: doit > $(FIND) . -type f \( -name "*-script" -o -name "*~" \) \ > -print -exec $(RM) {} \; > >clean-all: clean clean-elc clean-info clean-grammars clean-autoloads > >doit: > ># Makefile ends here > > > > >------------------------------------------------------- >This sf.net email is sponsored by:ThinkGeek >Welcome to geek heaven. >http://thinkgeek.com/sf >_______________________________________________ >Cedet-devel mailing list >Ced...@li... >https://lists.sourceforge.net/lists/listinfo/cedet-devel > |