2005-07-23 21:29:58 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
#
|
|
|
|
# A script that symlinks source files from Mesa to modular
|
|
|
|
#
|
|
|
|
# Author: Soren Sandmann (sandmann@redhat.com) (original)
|
|
|
|
# adapted for Mesa by Adam Jackson (ajax@nwnk.net)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Things we would like to do
|
|
|
|
#
|
|
|
|
# - Check that all the relevant files exist
|
|
|
|
# - AUTHORS, autogen.sh, configure.ac, ...
|
|
|
|
# - Check that we have actually linked everything
|
|
|
|
# - if a file doesn't need to be linked, then it needs
|
|
|
|
# to be listed as "not-linked"
|
|
|
|
# - Compute diffs between all the files (shouldn't be necessary)
|
|
|
|
# - possibly check that files are listet in Makefile.am's
|
|
|
|
# - Clean target directory of irrelevant files
|
|
|
|
#
|
|
|
|
|
|
|
|
check_destinations () {
|
|
|
|
# don't do anything - we are relying on the side
|
|
|
|
# effect of dst_dir
|
|
|
|
true
|
|
|
|
}
|
|
|
|
|
|
|
|
check_exist() {
|
|
|
|
# Check whether $1 exists
|
|
|
|
|
|
|
|
if [ ! -e $1 ] ; then
|
|
|
|
error "$1 not found"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
delete_existing() {
|
|
|
|
# Delete $2
|
|
|
|
|
|
|
|
rm -f $2
|
|
|
|
}
|
|
|
|
|
|
|
|
link_files() {
|
|
|
|
# Link $1 to $2
|
|
|
|
|
|
|
|
if [ ! -e $2 ] ; then
|
|
|
|
ln -s $1 $2
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
main() {
|
|
|
|
check_args $1 $2
|
|
|
|
|
|
|
|
run check_destinations "Creating destination directories"
|
|
|
|
run check_exist "Checking that the source files exist"
|
|
|
|
run delete_existing "Deleting existing files"
|
|
|
|
run link_files "Linking files"
|
|
|
|
}
|
|
|
|
|
|
|
|
## actual symlinking
|
|
|
|
|
|
|
|
symlink_mesa_glapi() {
|
|
|
|
src_dir src/mesa/glapi
|
|
|
|
dst_dir mesa/glapi
|
|
|
|
|
|
|
|
action dispatch.h
|
|
|
|
action glapi.c
|
|
|
|
action glapi.h
|
|
|
|
action glapioffsets.h
|
|
|
|
action glapitable.h
|
|
|
|
action glapitemp.h
|
|
|
|
action glprocs.h
|
|
|
|
action glthread.c
|
|
|
|
action glthread.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_main() {
|
|
|
|
src_dir src/mesa/main
|
|
|
|
dst_dir mesa/main
|
|
|
|
|
|
|
|
action accum.c
|
|
|
|
action accum.h
|
|
|
|
action api_arrayelt.c
|
|
|
|
action api_arrayelt.h
|
|
|
|
action api_eval.h
|
|
|
|
action api_loopback.c
|
|
|
|
action api_loopback.h
|
|
|
|
action api_noop.c
|
|
|
|
action api_noop.h
|
|
|
|
action api_validate.c
|
|
|
|
action api_validate.h
|
|
|
|
action attrib.c
|
|
|
|
action attrib.h
|
|
|
|
action blend.c
|
|
|
|
action blend.h
|
|
|
|
action bufferobj.c
|
|
|
|
action bufferobj.h
|
|
|
|
action buffers.c
|
|
|
|
action buffers.h
|
|
|
|
action clip.c
|
|
|
|
action clip.h
|
|
|
|
action colormac.h
|
|
|
|
action colortab.c
|
|
|
|
action colortab.h
|
|
|
|
action config.h
|
|
|
|
action context.c
|
|
|
|
action context.h
|
|
|
|
action convolve.c
|
|
|
|
action convolve.h
|
|
|
|
action dd.h
|
|
|
|
action debug.c
|
|
|
|
action debug.h
|
|
|
|
action depth.c
|
|
|
|
action depth.h
|
|
|
|
action dispatch.c
|
|
|
|
action dlist.c
|
|
|
|
action dlist.h
|
|
|
|
action drawpix.c
|
|
|
|
action drawpix.h
|
|
|
|
action enable.c
|
|
|
|
action enable.h
|
|
|
|
action enums.c
|
|
|
|
action enums.h
|
|
|
|
action eval.c
|
|
|
|
action eval.h
|
|
|
|
action extensions.c
|
|
|
|
action extensions.h
|
|
|
|
action fbobject.c
|
|
|
|
action fbobject.h
|
|
|
|
action feedback.c
|
|
|
|
action feedback.h
|
|
|
|
action fog.c
|
|
|
|
action fog.h
|
|
|
|
action framebuffer.c
|
|
|
|
action framebuffer.h
|
|
|
|
action get.c
|
|
|
|
action get.h
|
|
|
|
action getstring.c
|
|
|
|
action glheader.h
|
|
|
|
action hash.c
|
|
|
|
action hash.h
|
|
|
|
action hint.c
|
|
|
|
action hint.h
|
|
|
|
action histogram.c
|
|
|
|
action histogram.h
|
|
|
|
action image.c
|
|
|
|
action image.h
|
|
|
|
action imports.c
|
|
|
|
action imports.h
|
|
|
|
action light.c
|
|
|
|
action light.h
|
|
|
|
action lines.c
|
|
|
|
action lines.h
|
|
|
|
action macros.h
|
|
|
|
action matrix.c
|
|
|
|
action matrix.h
|
|
|
|
action mtypes.h
|
|
|
|
action occlude.c
|
|
|
|
action occlude.h
|
|
|
|
action pixel.c
|
|
|
|
action pixel.h
|
|
|
|
action points.c
|
|
|
|
action points.h
|
|
|
|
action polygon.c
|
|
|
|
action polygon.h
|
|
|
|
action rastpos.c
|
|
|
|
action rastpos.h
|
|
|
|
action renderbuffer.c
|
|
|
|
action renderbuffer.h
|
|
|
|
action simple_list.h
|
|
|
|
action state.c
|
|
|
|
action state.h
|
|
|
|
action stencil.c
|
|
|
|
action stencil.h
|
|
|
|
action texcompress.c
|
|
|
|
action texcompress.h
|
|
|
|
action texcompress_fxt1.c
|
|
|
|
action texcompress_s3tc.c
|
|
|
|
action texenvprogram.c
|
|
|
|
action texenvprogram.h
|
|
|
|
action texformat.c
|
|
|
|
action texformat.h
|
|
|
|
action texformat_tmp.h
|
|
|
|
action teximage.c
|
|
|
|
action teximage.h
|
|
|
|
action texobj.c
|
|
|
|
action texobj.h
|
|
|
|
action texrender.c
|
|
|
|
action texrender.h
|
|
|
|
action texstate.c
|
|
|
|
action texstate.h
|
|
|
|
action texstore.c
|
|
|
|
action texstore.h
|
|
|
|
action varray.c
|
|
|
|
action varray.h
|
|
|
|
action version.h
|
|
|
|
action vsnprintf.c
|
|
|
|
action vtxfmt.c
|
|
|
|
action vtxfmt.h
|
|
|
|
action vtxfmt_tmp.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_math() {
|
|
|
|
src_dir src/mesa/math
|
|
|
|
dst_dir mesa/math
|
|
|
|
|
|
|
|
action m_clip_tmp.h
|
|
|
|
action m_copy_tmp.h
|
|
|
|
action m_debug.h
|
|
|
|
action m_debug_clip.c
|
|
|
|
action m_debug_norm.c
|
|
|
|
action m_debug_util.h
|
|
|
|
action m_debug_xform.c
|
|
|
|
action m_dotprod_tmp.h
|
|
|
|
action m_eval.c
|
|
|
|
action m_eval.h
|
|
|
|
action m_matrix.c
|
|
|
|
action m_matrix.h
|
|
|
|
action m_norm_tmp.h
|
|
|
|
action m_trans_tmp.h
|
|
|
|
action m_translate.c
|
|
|
|
action m_translate.h
|
|
|
|
action m_vector.c
|
|
|
|
action m_vector.h
|
|
|
|
action m_xform.c
|
|
|
|
action m_xform.h
|
|
|
|
action m_xform_tmp.h
|
|
|
|
action mathmod.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_ac() {
|
|
|
|
src_dir src/mesa/array_cache
|
|
|
|
dst_dir mesa/array_cache
|
|
|
|
|
|
|
|
action ac_context.c
|
|
|
|
action ac_context.h
|
|
|
|
action ac_import.c
|
|
|
|
action acache.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_swrast() {
|
|
|
|
src_dir src/mesa/swrast
|
|
|
|
dst_dir mesa/swrast
|
|
|
|
|
|
|
|
action s_aaline.c
|
|
|
|
action s_aaline.h
|
|
|
|
action s_aalinetemp.h
|
|
|
|
action s_aatriangle.c
|
|
|
|
action s_aatriangle.h
|
|
|
|
action s_aatritemp.h
|
|
|
|
action s_accum.c
|
|
|
|
action s_accum.h
|
|
|
|
action s_alpha.c
|
|
|
|
action s_alpha.h
|
|
|
|
action s_atifragshader.c
|
|
|
|
action s_atifragshader.h
|
|
|
|
action s_bitmap.c
|
|
|
|
action s_blend.c
|
|
|
|
action s_blend.h
|
|
|
|
action s_buffers.c
|
|
|
|
action s_context.c
|
|
|
|
action s_context.h
|
|
|
|
action s_copypix.c
|
|
|
|
action s_depth.c
|
|
|
|
action s_depth.h
|
|
|
|
action s_drawpix.c
|
|
|
|
action s_drawpix.h
|
|
|
|
action s_feedback.c
|
|
|
|
action s_feedback.h
|
|
|
|
action s_fog.c
|
|
|
|
action s_fog.h
|
|
|
|
action s_fragprog_to_c.c
|
|
|
|
action s_imaging.c
|
|
|
|
action s_lines.c
|
|
|
|
action s_lines.h
|
|
|
|
action s_linetemp.h
|
|
|
|
action s_logic.c
|
|
|
|
action s_logic.h
|
|
|
|
action s_masking.c
|
|
|
|
action s_masking.h
|
|
|
|
action s_nvfragprog.c
|
|
|
|
action s_nvfragprog.h
|
|
|
|
action s_pixeltex.c
|
|
|
|
action s_pixeltex.h
|
|
|
|
action s_points.c
|
|
|
|
action s_points.h
|
|
|
|
action s_pointtemp.h
|
|
|
|
action s_readpix.c
|
|
|
|
action s_span.c
|
|
|
|
action s_span.h
|
|
|
|
action s_spantemp.h
|
|
|
|
action s_stencil.c
|
|
|
|
action s_stencil.h
|
|
|
|
action s_tcc.c
|
|
|
|
action s_texstore.c
|
|
|
|
action s_texture.c
|
|
|
|
action s_texture.h
|
|
|
|
action s_triangle.c
|
|
|
|
action s_triangle.h
|
|
|
|
action s_trispan.h
|
|
|
|
action s_tritemp.h
|
|
|
|
action s_zoom.c
|
|
|
|
action s_zoom.h
|
|
|
|
action swrast.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_ss() {
|
|
|
|
src_dir src/mesa/swrast_setup
|
|
|
|
dst_dir mesa/swrast_setup
|
|
|
|
|
|
|
|
action ss_context.c
|
|
|
|
action ss_context.h
|
|
|
|
action ss_triangle.c
|
|
|
|
action ss_triangle.h
|
|
|
|
action ss_tritmp.h
|
|
|
|
action ss_vb.h
|
|
|
|
action swrast_setup.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_tnl() {
|
|
|
|
src_dir src/mesa/tnl
|
|
|
|
dst_dir mesa/tnl
|
|
|
|
|
|
|
|
action t_array_api.c
|
|
|
|
action t_array_api.h
|
|
|
|
action t_array_import.c
|
|
|
|
action t_array_import.h
|
|
|
|
action t_context.c
|
|
|
|
action t_context.h
|
|
|
|
action t_pipeline.c
|
|
|
|
action t_pipeline.h
|
|
|
|
action t_save_api.c
|
|
|
|
action t_save_api.h
|
|
|
|
action t_save_loopback.c
|
|
|
|
action t_save_playback.c
|
|
|
|
action t_vb_arbprogram.c
|
|
|
|
action t_vb_arbprogram.h
|
|
|
|
action t_vb_arbprogram_sse.c
|
|
|
|
action t_vb_cliptmp.h
|
|
|
|
action t_vb_cull.c
|
|
|
|
action t_vb_fog.c
|
|
|
|
action t_vb_light.c
|
|
|
|
action t_vb_lighttmp.h
|
|
|
|
action t_vb_normals.c
|
|
|
|
action t_vb_points.c
|
|
|
|
action t_vb_program.c
|
|
|
|
action t_vb_render.c
|
|
|
|
action t_vb_rendertmp.h
|
|
|
|
action t_vb_texgen.c
|
|
|
|
action t_vb_texmat.c
|
|
|
|
action t_vb_vertex.c
|
|
|
|
action t_vertex.c
|
|
|
|
action t_vertex.h
|
|
|
|
action t_vertex_generic.c
|
|
|
|
action t_vertex_sse.c
|
|
|
|
action t_vp_build.c
|
|
|
|
action t_vp_build.h
|
|
|
|
action t_vtx_api.c
|
|
|
|
action t_vtx_api.h
|
|
|
|
action t_vtx_eval.c
|
|
|
|
action t_vtx_exec.c
|
|
|
|
action t_vtx_generic.c
|
|
|
|
action t_vtx_x86.c
|
|
|
|
action tnl.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_shader() {
|
|
|
|
src_dir src/mesa/shader
|
|
|
|
dst_dir mesa/shader
|
|
|
|
|
|
|
|
action arbfragparse.c
|
|
|
|
action arbfragparse.h
|
|
|
|
action arbprogparse.c
|
|
|
|
action arbprogparse.h
|
|
|
|
action arbprogram.c
|
|
|
|
action arbprogram.h
|
|
|
|
action arbprogram_syn.h
|
|
|
|
action arbvertparse.c
|
|
|
|
action arbvertparse.h
|
|
|
|
action atifragshader.c
|
|
|
|
action atifragshader.h
|
|
|
|
action nvfragparse.c
|
|
|
|
action nvfragparse.h
|
|
|
|
action nvfragprog.h
|
|
|
|
action nvprogram.c
|
|
|
|
action nvprogram.h
|
|
|
|
action nvvertexec.c
|
|
|
|
action nvvertexec.h
|
|
|
|
action nvvertparse.c
|
|
|
|
action nvvertparse.h
|
|
|
|
action nvvertprog.h
|
|
|
|
action program.c
|
|
|
|
action program.h
|
|
|
|
action shaderobjects.c
|
|
|
|
action shaderobjects.h
|
|
|
|
action shaderobjects_3dlabs.c
|
|
|
|
action shaderobjects_3dlabs.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_shader_grammar() {
|
|
|
|
src_dir src/mesa/shader/grammar
|
|
|
|
dst_dir mesa/shader/grammar
|
|
|
|
|
|
|
|
action grammar.c
|
|
|
|
action grammar.h
|
|
|
|
action grammar_syn.h
|
|
|
|
action grammar_mesa.c
|
|
|
|
action grammar_mesa.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_shader_slang() {
|
|
|
|
src_dir src/mesa/shader/slang
|
|
|
|
dst_dir mesa/shader/slang
|
|
|
|
|
|
|
|
action slang_assemble_assignment.c
|
|
|
|
action slang_assemble_assignment.h
|
|
|
|
action slang_assemble.c
|
|
|
|
action slang_assemble_conditional.c
|
|
|
|
action slang_assemble_conditional.h
|
|
|
|
action slang_assemble_constructor.c
|
|
|
|
action slang_assemble_constructor.h
|
|
|
|
action slang_assemble.h
|
|
|
|
action slang_assemble_typeinfo.c
|
|
|
|
action slang_assemble_typeinfo.h
|
|
|
|
action slang_compile.c
|
|
|
|
action slang_compile.h
|
|
|
|
action slang_execute.c
|
|
|
|
action slang_execute.h
|
|
|
|
action slang_mesa.h
|
|
|
|
action slang_preprocess.c
|
|
|
|
action slang_preprocess.h
|
|
|
|
action slang_storage.c
|
|
|
|
action slang_storage.h
|
|
|
|
action slang_utility.c
|
|
|
|
action slang_utility.h
|
|
|
|
action traverse_wrap.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_shader_slang_library() {
|
|
|
|
src_dir src/mesa/shader/slang/library
|
|
|
|
dst_dir mesa/shader/slang/library
|
|
|
|
|
|
|
|
action slang_common_builtin_gc_bin.h
|
|
|
|
action slang_common_builtin_gc.h
|
|
|
|
action slang_core_gc_bin.h
|
|
|
|
action slang_core_gc.h
|
|
|
|
action slang_fragment_builtin_gc_bin.h
|
|
|
|
action slang_fragment_builtin_gc.h
|
|
|
|
action slang_shader_syn.h
|
|
|
|
action slang_version_syn.h
|
|
|
|
action slang_vertex_builtin_gc_bin.h
|
|
|
|
action slang_vertex_builtin_gc.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_x() {
|
|
|
|
src_dir src/mesa/drivers/x11
|
|
|
|
dst_dir mesa/X
|
|
|
|
|
|
|
|
# action glxapi.h
|
|
|
|
action glxheader.h
|
|
|
|
# action realglx.h
|
|
|
|
# action xfonts.h
|
|
|
|
action xm_api.c
|
|
|
|
action xm_buffer.c
|
|
|
|
action xm_dd.c
|
|
|
|
action xm_line.c
|
|
|
|
action xm_span.c
|
|
|
|
action xm_tri.c
|
|
|
|
action xmesaP.h
|
|
|
|
|
|
|
|
# another hack
|
|
|
|
src_dir src/mesa/drivers/common
|
|
|
|
dst_dir mesa/X/drivers/common
|
|
|
|
action driverfuncs.c
|
|
|
|
action driverfuncs.h
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_ppc() {
|
|
|
|
src_dir src/mesa/ppc
|
|
|
|
dst_dir mesa/ppc
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_sparc() {
|
|
|
|
src_dir src/mesa/sparc
|
|
|
|
dst_dir mesa/sparc
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_x86() {
|
|
|
|
src_dir src/mesa/x86
|
|
|
|
dst_dir mesa/x86
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa_x8664() {
|
|
|
|
src_dir src/mesa/x86-64
|
|
|
|
dst_dir mesa/x86-64
|
|
|
|
}
|
|
|
|
|
|
|
|
symlink_mesa() {
|
|
|
|
symlink_mesa_main
|
|
|
|
symlink_mesa_math
|
|
|
|
symlink_mesa_ac
|
|
|
|
symlink_mesa_swrast
|
|
|
|
symlink_mesa_ss
|
|
|
|
symlink_mesa_tnl
|
|
|
|
symlink_mesa_shader
|
|
|
|
symlink_mesa_shader_grammar
|
|
|
|
symlink_mesa_shader_slang
|
|
|
|
symlink_mesa_shader_slang_library
|
|
|
|
symlink_mesa_x
|
|
|
|
symlink_mesa_glapi
|
|
|
|
symlink_mesa_ppc
|
|
|
|
symlink_mesa_sparc
|
|
|
|
symlink_mesa_x86
|
|
|
|
symlink_mesa_x8664
|
|
|
|
}
|
|
|
|
|
2005-08-01 20:41:54 +02:00
|
|
|
symlink_glx() {
|
|
|
|
# this is... unpleasant
|
|
|
|
src_dir src/glx/x11
|
|
|
|
dst_dir glx
|
|
|
|
|
|
|
|
action indirect_size.c
|
|
|
|
action indirect_size.h
|
|
|
|
}
|
|
|
|
|
2005-07-23 21:29:58 +02:00
|
|
|
#########
|
|
|
|
#
|
|
|
|
# Helper functions
|
|
|
|
#
|
|
|
|
#########
|
|
|
|
|
|
|
|
error() {
|
|
|
|
echo
|
|
|
|
echo \ \ \ error:\ \ \ $1
|
|
|
|
exit
|
|
|
|
}
|
|
|
|
|
|
|
|
# printing out what's going on
|
|
|
|
run_module() {
|
|
|
|
# $1 module
|
|
|
|
# $2 explanation
|
|
|
|
echo -n $EXPLANATION for $1 module ...\
|
|
|
|
symlink_$1
|
|
|
|
echo DONE
|
|
|
|
}
|
|
|
|
|
|
|
|
run() {
|
|
|
|
# $1 what to do
|
|
|
|
# $2 explanation
|
|
|
|
|
|
|
|
ACTION=$1 EXPLANATION=$2 run_module mesa
|
2005-08-01 20:41:54 +02:00
|
|
|
ACTION=$1 EXPLANATION=$2 run_module glx
|
2005-07-23 21:29:58 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
src_dir() {
|
|
|
|
REAL_SRC_DIR=$SRC_DIR/$1
|
|
|
|
if [ ! -d $REAL_SRC_DIR ] ; then
|
|
|
|
error "Source directory $REAL_SRC_DIR does not exist"
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
dst_dir() {
|
|
|
|
REAL_DST_DIR=$DST_DIR/$1
|
|
|
|
if [ ! -d $REAL_DST_DIR ] ; then
|
|
|
|
mkdir -p $REAL_DST_DIR
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
action() {
|
|
|
|
if [ -z $2 ] ; then
|
|
|
|
$ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$1
|
|
|
|
else
|
|
|
|
$ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$2
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
usage() {
|
|
|
|
echo symlink.sh src-dir dst-dir
|
|
|
|
echo src-dir: the xc directory of the monolithic source tree
|
|
|
|
echo dst-dir: the modular source tree containing proto, app, lib, ...
|
|
|
|
}
|
|
|
|
|
|
|
|
# Check commandline args
|
|
|
|
check_args() {
|
|
|
|
if [ -z $1 ] ; then
|
|
|
|
echo Missing source dir
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z $2 ] ; then
|
|
|
|
echo Missing destination dir
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d $1 ] ; then
|
|
|
|
echo $1 is not a dir
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ ! -d $2 ] ; then
|
|
|
|
echo $2 is not a dir
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $1 = $2 ] ; then
|
|
|
|
echo source and destination can\'t be the same
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
D=`dirname "$relpath"`
|
|
|
|
B=`basename "$relpath"`
|
|
|
|
abspath="`cd \"$D\" 2>/dev/null && pwd || echo \"$D\"`/$B"
|
|
|
|
|
|
|
|
SRC_DIR=`( cd $1 ; pwd )`
|
|
|
|
DST_DIR=`(cd $2 ; pwd )`
|
|
|
|
}
|
|
|
|
|
|
|
|
main $1 $2
|