# Makefile # # Makefile for resumes # # Copyright (c) 2002 Bruce Christensen # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the # distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #------------------------------------------------------------------------------ # To create example.html, example.txt, example.fo, and example.pdf from # example.xml, with Italian localization and a4 paper size, use this command: # # gmake resume=example country=it papersize=a4 # # To generate just the html version of cv.xml with UK localization, use this # command: # # gmake html resume=cv country=uk # # To remove all generated files, run: # # gmake clean #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # Basename (filename minus .xml extension) of resume to process # For example, put "myresume" here to process "myresume.xml". #------------------------------------------------------------------------------ resume = resume #------------------------------------------------------------------------------ # Stylesheets #------------------------------------------------------------------------------ # Options: br de fr it nl uk us es country = us # Options: letter for country=us, a4 for others papersize = letter xsl_base = http://xmlresume.sourceforge.net/xsl #xsl_base = ../xsl #xsl_base = ../src/www/xsl html_style = $(xsl_base)/output/$(country)-html.xsl text_style = $(xsl_base)/output/$(country)-text.xsl fo_style = $(xsl_base)/output/$(country)-$(papersize).xsl upgrade_13x_140_style = $(xsl_base)/misc/13x-140.xsl #------------------------------------------------------------------------------ # Processing software #------------------------------------------------------------------------------ make = gmake xsl_proc = java org.apache.xalan.xslt.Process $(xsl_flags) -in $(in) -xsl $(xsl) -out $(out) #xsl_proc = java com.icl.saxon.StyleSheet $(xsl_flags) -o $(out) $(in) $(xsl) $(xsl_params) pdf_proc = java org.apache.fop.apps.Fop -fo $(fo_flags) $(in) -pdf $(out) #pdf_proc = ~/bin/xep/run.sh $(fo_flags) $(in) $(out) # RTF generation currently requires you download a separate, closed source jar # file and add it to your java classpath: # http://www.xmlmind.com/foconverter/downloadperso.shtml rtf_proc = java com.xmlmind.fo.converter.Driver $(in) $(out) #rtf_proc = java ch.codeconsult.jfor.main.CmdLineConverter $(in) $(out) # Element filtering allows you to create targeted resumes. # You can create your own targets; just specify them in your resume.xml # file with the "targets" attribute. In this example, the foodservice # AND carpentry elements will be included in the output, but not the # elements targeted to other jobs. Untargeted elements (those with no # "targets" attribute) are always included. # Take a look at example2.xml and try changing the filter targets to get a # feel for how the filter works. filter_targets = foodservice carpentry filter_proc = java net.sourceforge.xmlresume.filter.Filter -in $(in) -out $(out) $(filter_targets) #------------------------------------------------------------------------------ # End configurable parameters #------------------------------------------------------------------------------ .PHONY: all html text fo pdf clean 13x-140 all: html text fo pdf html: $(resume).html text: $(resume).txt fo: $(resume).fo pdf: $(resume).pdf 13x-140: $(resume)-140.xml rtf: $(resume).rtf filter: $(resume)-filtered.xml clean: rm -f $(resume).html rm -f $(resume).txt rm -f $(resume).fo rm -f $(resume).pdf rm -f $(resume).rtf rm -f $(resume)-filtered.xml rm -f $(resume)-filtered.html rm -f $(resume)-filtered.txt rm -f $(resume)-filtered.pdf rm -f $(resume)-filtered.fo rm -f $(resume)-filtered.rtf $(resume).html: in = $(resume).xml $(resume).html: out = $(resume).html $(resume).html: xsl = $(html_style) $(resume).html: $(resume).xml $(xsl_proc) $(resume).txt: in = $(resume).xml $(resume).txt: out = $(resume).txt $(resume).txt: xsl = $(text_style) $(resume).txt: $(resume).xml $(xsl_proc) $(resume).fo: in = $(resume).xml $(resume).fo: out = $(resume).fo $(resume).fo: xsl = $(fo_style) $(resume).fo: $(resume).xml $(xsl_proc) $(resume).pdf: in = $(resume).fo $(resume).pdf: out = $(resume).pdf $(resume).pdf: $(resume).fo $(pdf_proc) $(resume).rtf: in = $(resume).fo $(resume).rtf: out = $(resume).rtf $(resume).rtf: $(resume).fo $(rtf_proc) $(resume)-140.xml: in = $(resume).xml $(resume)-140.xml: out = $(resume)-140.xml $(resume)-140.xml: xsl = $(upgrade_13x_140_style) $(resume)-140.xml: $(resume).xml $(xsl_proc) $(resume)-filtered.xml: in = $(resume).xml $(resume)-filtered.xml: out = $(resume)-filtered.xml $(resume)-filtered.xml: $(resume).xml $(filter_proc) $(make) all resume=$(resume)-filtered