# # Copyright 2001-2007 Adrian Thurston # # This file is part of Ragel. # # Ragel 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 of the License, or # (at your option) any later version. # # Ragel 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 Ragel; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA BUILD_SUBDIRS = common ragel redfsm rlgen-cd rlgen-java rlgen-ruby rlgen-dot ALL_SUBDIRS = $(BUILD_SUBDIRS) test examples doc #************************************* # Programs CXX = @CXX@ # Get the version info. include version.mk # build targets all: $(BUILD_SUBDIRS) .PHONY: $(BUILD_SUBDIRS) $(BUILD_SUBDIRS): @cd $@ && $(MAKE) # new version new-version: sed 's/^\(Version:[[:space:]]*\)[0-9.]*$$/\1$(VERSION)/' ragel.spec > spec-new cat spec-new > ragel.spec && rm spec-new # clean targets. CLEAN_SUBDIRS = $(ALL_SUBDIRS:%=%-clean) .PHONY: $(CLEAN_SUBDIRS) $(CLEAN_SUBDIRS): @cd $(@:%-clean=%) && $(MAKE) clean clean: $(CLEAN_SUBDIRS) rm -f tags # distcleaan targets DISTCLEAN_SUBDIRS = $(ALL_SUBDIRS:%=%-distclean) .PHONY: $(DISTCLEAN_SUBDIRS) $(DISTCLEAN_SUBDIRS): @cd $(@:%-distclean=%) && $(MAKE) clean distclean: $(DISTCLEAN_SUBDIRS) rm -f Makefile config.cache config.status config.log #install targets INSTALL_SUBDIRS = $(BUILD_SUBDIRS:%=%-install) .PHONY: $(INSTALL_SUBDIRS) $(INSTALL_SUBDIRS): @cd $(@:%-install=%) && $(MAKE) install install: $(INSTALL_SUBDIRS)