mklibgcc.in revision 104752
1#!/bin/sh
2# Construct makefile for libgcc.
3#   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
4#
5# This file is part of GCC.
6
7# Arguments, taken from the environment, since there are a lot
8# of them, and positional args becomes quite ugly.
9#
10# objext
11# LIB1ASMFUNCS
12# LIB2FUNCS_1
13# LIB2FUNCS_2
14# LIB2FUNCS_ST
15# LIB2ADD
16# LIB2ADD_ST 
17# LIB2ADDEH
18# LIB2ADDEHDEP
19# FPBIT
20# FPBIT_FUNCS
21# LIB2_DIVMOD_FUNCS
22# DPBIT
23# DPBIT_FUNCS
24# LIBGCC
25# MULTILIBS
26# EXTRA_MULTILIB_PARTS
27# SHLIB_EXT
28# SHLIB_LINK
29# SHLIB_MULTILIB
30# SHLIB_MKMAP
31# SHLIB_MKMAP_OPTS
32# SHLIB_MAPFILES
33# SHLIB_NM_FLAGS
34# SHLIB_INSTALL
35# MULTILIB_OSDIRNAMES
36
37# Make needs VPATH to be literal.
38echo 'srcdir = @srcdir@'
39echo 'VPATH = @srcdir@'
40echo 'EQ = ='
41echo
42echo 'force:'
43echo
44
45# Disable SHLIB_LINK if shared libgcc not enabled.
46if [ "@enable_shared@" = "no" ]; then
47  SHLIB_LINK=""
48fi
49
50# Build lines.
51
52gcc_compile='$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES)'
53make_compile='$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
54	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
55	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
56	  AR_EXTRACT_FOR_TARGET="$(AR_EXTRACT_FOR_TARGET)" \
57	  AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
58	  CC="$(CC)" CFLAGS="$(CFLAGS)" \
59	  HOST_PREFIX="$(HOST_PREFIX)" \
60	  HOST_PREFIX_1="$(HOST_PREFIX_1)" \
61	  LANGUAGES="$(LANGUAGES)"'
62
63# Dependencies for libgcc2.c
64libgcc2_c_dep='stmp-dirs $(srcdir)/libgcc2.c $(CONFIG_H) $(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs tsystem.h'" $LIB2ADDEHDEP"
65
66# Dependencies for fp-bit.c
67fpbit_c_dep='stmp-dirs config.status tsystem.h'
68
69#
70# Build libgcc1 components.
71#
72
73libgcc1_objs=""
74
75for name in $LIB1ASMFUNCS; do
76  for ml in $MULTILIBS; do
77    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
78    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
79    out="libgcc/${dir}/${name}${objext}"
80
81    echo ${out}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)'
82    echo "	$gcc_compile" $flags -DL$name -xassembler-with-cpp \
83	  -c '$(srcdir)/config/$(LIB1ASMSRC)' -o $out
84
85    # Remove any objects from LIB2FUNCS and LIB2_DIVMOD_FUNCS that are
86    # defined as optimized assembly code in LIB1ASMFUNCS.
87    LIB2FUNCS_1=`echo $LIB2FUNCS_1 | sed -e 's/^'$name' //' \
88				         -e 's/ '$name' / /' \
89				         -e 's/ '$name'$//'`
90    LIB2FUNCS_2=`echo $LIB2FUNCS_2 | sed -e 's/^'$name' //' \
91				         -e 's/ '$name' / /' \
92				         -e 's/ '$name'$//'`
93    LIB2_DIVMOD_FUNCS=`echo $LIB2_DIVMOD_FUNCS | sed -e 's/^'$name' //' \
94				                     -e 's/ '$name' / /' \
95				                     -e 's/ '$name'$//'`
96  done
97  libgcc1_objs="$libgcc1_objs ${name}${objext}"
98done
99
100#
101# Build libgcc2 components.
102#
103
104libgcc2_objs=""
105libgcc2_st_objs=""
106libgcc2_eh_objs=""
107
108for name in $LIB2FUNCS_1 $LIB2FUNCS_2; do
109  for ml in $MULTILIBS; do
110    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
111    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
112    out="libgcc/${dir}/${name}${objext}"
113
114    echo $out: $libgcc2_c_dep
115    echo "	$gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \
116      -c '$(srcdir)/libgcc2.c' -o $out
117  done
118  libgcc2_objs="$libgcc2_objs ${name}${objext}"
119done
120
121for name in $LIB2FUNCS_ST; do
122  for ml in $MULTILIBS; do
123    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
124    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
125    out="libgcc/${dir}/${name}${objext}"
126
127    echo $out: $libgcc2_c_dep
128    echo "	$gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \
129      -c '$(srcdir)/libgcc2.c' -o $out
130  done
131  libgcc2_st_objs="$libgcc2_st_objs ${name}${objext}"
132done
133
134for name in $LIB2_DIVMOD_FUNCS; do
135  for ml in $MULTILIBS; do
136    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
137    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
138    out="libgcc/${dir}/${name}${objext}"
139
140    echo $out: $libgcc2_c_dep
141    echo "	$gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \
142      -c '$(srcdir)/libgcc2.c' -fexceptions -fnon-call-exceptions -o $out
143  done
144  libgcc2_objs="$libgcc2_objs ${name}${objext}"
145done
146
147if [ "$FPBIT" ]; then
148  for name in $FPBIT_FUNCS; do
149    for ml in $MULTILIBS; do
150      dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
151      flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
152      out="libgcc/${dir}/${name}${objext}"
153
154      echo $out: $FPBIT $fpbit_c_dep
155      echo "	$gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
156	-c $FPBIT -o $out
157    done
158    libgcc2_objs="$libgcc2_objs ${name}${objext}"
159  done
160fi
161
162if [ "$DPBIT" ]; then
163  for name in $DPBIT_FUNCS; do
164    for ml in $MULTILIBS; do
165      dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
166      flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
167      out="libgcc/${dir}/${name}${objext}"
168
169      echo $out: $DPBIT $fpbit_c_dep
170      echo "	$gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
171	-c $DPBIT -o $out
172    done
173    libgcc2_objs="$libgcc2_objs ${name}${objext}"
174  done
175fi
176
177for file in $LIB2ADD; do
178  name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'`
179  oname=`echo $name | sed -e 's,.*/,,'`
180
181  for ml in $MULTILIBS; do
182    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
183    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
184    out="libgcc/${dir}/${oname}${objext}"
185    if [ ${name}.asm = ${file} ]; then
186      flags="$flags -xassembler-with-cpp"
187    fi
188
189    echo $out: stmp-dirs $file
190    echo "	$gcc_compile" $flags -c $file -o $out
191  done
192  libgcc2_objs="$libgcc2_objs ${oname}${objext}"
193done
194
195for file in $LIB2ADDEH; do
196  name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'`
197  oname=`echo $name | sed -e 's,.*/,,'`
198
199  for ml in $MULTILIBS; do
200    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
201    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
202    out="libgcc/${dir}/${oname}${objext}"
203    if [ ${name}.asm = ${file} ]; then
204      flags="$flags -xassembler-with-cpp"
205    fi
206
207    echo $out: stmp-dirs $file
208    echo "	$gcc_compile" $flags -fexceptions -c $file -o $out
209  done
210  if [ "$SHLIB_LINK" ]; then
211    libgcc2_eh_objs="$libgcc2_eh_objs ${oname}${objext}"
212  else
213    libgcc2_objs="$libgcc2_objs ${oname}${objext}"
214  fi
215done
216
217for file in $LIB2ADD_ST; do
218  name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'`
219  oname=`echo $name | sed -e 's,.*/,,'`
220
221  for ml in $MULTILIBS; do
222    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
223    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
224    out="libgcc/${dir}/${oname}${objext}"
225    if [ ${name}.asm = ${file} ]; then
226      flags="$flags -xassembler-with-cpp"
227    fi
228
229    echo $out: stmp-dirs $file
230    echo "	$gcc_compile" $flags -c $file -o $out
231  done
232  libgcc2_st_objs="$libgcc2_st_objs ${oname}${objext}"
233done
234
235# SHLIB_MKMAP
236# SHLIB_MKMAP_OPTS
237# SHLIB_MAPFILES
238for ml in $MULTILIBS; do
239  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
240  flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
241
242  libgcc_objs=""
243  libgcc_eh_objs=""
244  for o in $libgcc1_objs; do
245    libgcc_objs="$libgcc_objs libgcc/${dir}/$o"
246  done
247  for o in $libgcc2_objs; do
248    libgcc_objs="$libgcc_objs libgcc/${dir}/$o"
249  done
250  for o in $libgcc2_eh_objs; do
251    libgcc_eh_objs="$libgcc_eh_objs libgcc/${dir}/$o"
252  done
253  libgcc_sh_objs="$libgcc_objs $libgcc_eh_objs"
254  shlib_deps="$libgcc_sh_objs"
255
256  libgcc_st_objs=""
257  for o in $libgcc2_st_objs; do
258    libgcc_st_objs="$libgcc_st_objs libgcc/${dir}/$o"
259  done
260
261  if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" ]; then
262    mapfile="libgcc/${dir}/libgcc.map"
263    tmpmapfile="libgcc/${dir}/tmp-libgcc.map"
264    echo ""
265    echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_sh_objs"
266    echo '	{ $(NM_FOR_TARGET)'" $SHLIB_NM_FLAGS $libgcc_sh_objs; echo %%; \\"
267    echo "	  cat $SHLIB_MAPFILES | sed -e "'"/^[ 	]*#/d" -e '\''s/^%\(if\|else\|elif\|endif\|define\)/#\1/'\'" \\"
268    echo "	  | $gcc_compile $flags -E -xassembler-with-cpp -; \\"
269    echo '	} | $(AWK)'" -f $SHLIB_MKMAP $SHLIB_MKMAP_OPTS > ${tmpmapfile}"
270    echo '	mv '"$tmpmapfile"' $@'
271  fi
272  shlib_deps="$shlib_deps $mapfile"
273
274  # Depend on EXTRA_MULTILIB_PARTS, since that's where crtbegin/end
275  # usually are put in a true multilib situation.
276  for f in $EXTRA_MULTILIB_PARTS; do
277    shlib_deps="$shlib_deps $dir/$f"
278  done
279
280  libgcc_a_objs="$libgcc_objs $libgcc_st_objs"
281
282  if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
283    libgcc_a_objs=
284    echo ""
285    for o in $libgcc_objs $libgcc_st_objs; do
286      # .oS objects will have all non-local symbol definitions .hidden
287      oS=`echo ${o} | sed s~${objext}'$~.oS~g'`
288      echo "${oS}: stmp-dirs ${o}"
289      echo '	@$(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 { print "\t.hidden", $$3 }'\'' | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -'
290      libgcc_a_objs="${libgcc_a_objs} ${oS}"
291    done
292  fi
293
294  echo ""
295  echo "${dir}/libgcc.a: $libgcc_a_objs"
296  echo "	-rm -rf ${dir}/libgcc.a"
297  echo '	$(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs
298  echo '	if $(RANLIB_TEST_FOR_TARGET) ; then' \\
299  echo '	  $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\
300  echo '	else true; fi;'
301
302  if [ "$SHLIB_LINK" ]; then
303
304    echo ""
305    echo "${dir}/libgcc_eh.a: $libgcc_eh_objs"
306    echo "	-rm -rf ${dir}/libgcc_eh.a"
307    echo '	$(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs
308    echo '	if $(RANLIB_TEST_FOR_TARGET) ; then' \\
309    echo '	  $(RANLIB_FOR_TARGET)' ${dir}/libgcc_eh.a ';' \\
310    echo '	else true; fi;'
311
312    if [ -z "$SHLIB_MULTILIB" ]; then
313      if [ "$dir" = . ]; then
314	shlib_base_name=libgcc_s
315      else
316	shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g`
317      fi
318      shlib_so_name="$shlib_base_name"
319      shlib_dir=
320      if [ -n "$MULTILIB_OSDIRNAMES" ]; then
321	if [ "$dir" != . ]; then
322	  gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory`
323	  os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory`
324	  shlib_dir="$dir"/
325	  gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'`
326	  os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"`
327	  if [ -z "$os_multilib_base" ]; then
328	    shlib_so_name=libgcc_s
329	  else
330	    shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g`
331	  fi
332	fi
333      fi
334      echo ""
335      echo "${dir}/${shlib_base_name}${SHLIB_EXT}: $shlib_deps"
336      echo "	$SHLIB_LINK" \
337	 | sed -e "s%@multilib_flags@%$flags%g" \
338	       -e "s%@multilib_dir@%$dir%g" \
339	       -e "s%@shlib_objs@%$libgcc_sh_objs%g" \
340	       -e "s%@shlib_base_name@%$shlib_base_name%g" \
341	       -e "s%@shlib_map_file@%$mapfile%g" \
342	       -e "s%@shlib_so_name@%$shlib_so_name%g" \
343	       -e "s%@shlib_dir@%$shlib_dir%g"
344    elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
345      shlib_base_name="libgcc_s";
346      echo ""
347      echo "${shlib_base_name}${SHLIB_EXT}: $shlib_deps"
348      echo "	$SHLIB_LINK" \
349	 | sed -e "s%@multilib_flags@%$flags%g" \
350	       -e "s%@multilib_dir@%$dir%g" \
351	       -e "s%@shlib_objs@%$libgcc_sh_objs%g" \
352	       -e "s%@shlib_base_name@%$shlib_base_name%g" \
353	       -e "s%@shlib_map_file@%$mapfile%g" \
354	       -e "s%@shlib_so_name@%$shlib_base_name%g" \
355	       -e "s%@shlib_dir@%%g"
356    fi
357  fi
358done
359
360dirs=libgcc
361for ml in $MULTILIBS; do
362  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
363  if [ $dir != . ]; then
364    dirs="$dirs libgcc/${dir}"
365  fi
366done
367echo ''
368echo 'libgcc-stage-start:'
369echo '	for dir in '"${dirs}"'; do \'
370echo '	  if [ -d $(stage)/$$dir ]; then true; else mkdir $(stage)/$$dir; fi; \'
371echo '	done'
372echo '	-for dir in '"${dirs}"'; do \'
373echo '	  mv $$dir/*'"${objext}"' $(stage)/$$dir; \'
374echo '	done'
375
376echo ""
377all=stmp-dirs
378dirs=libgcc
379
380for ml in $MULTILIBS; do
381  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
382  if [ $dir != . ]; then
383    dirs="$dirs ${dir} libgcc/${dir}"
384  fi
385  all="$all ${dir}/libgcc.a"
386  if [ "$SHLIB_LINK" ]; then
387    all="$all ${dir}/libgcc_eh.a"
388    if [ -z "$SHLIB_MULTILIB" ]; then
389      if [ "$dir" = "." ]; then
390	suff="";
391      else
392	suff=_`echo $dir | sed s,/,_,g`
393      fi
394      all="$all ${dir}/libgcc_s${suff}${SHLIB_EXT}"
395    elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
396      all="$all libgcc_s${SHLIB_EXT}"
397    fi
398  fi
399done
400
401echo 'stmp-dirs: force'
402echo '	for d in '"$dirs"'; do \'
403echo '	  if [ -d $$d ]; then true; else '$mkinstalldirs' $$d; fi; \'
404echo '	done'
405echo '	if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi'
406
407for f in $EXTRA_MULTILIB_PARTS; do
408  for ml in $MULTILIBS; do
409    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
410    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
411    case $dir in
412    .) out=$f ; t= ;;
413    *) out=$dir/$f ; t=$dir/ ;;
414    esac
415    case $out in
416    # Prevent `make' from interpreting $out as a macro assignment
417    *'$(EQ)'*) targ="T_TARGET=$out T_TARGET" ;;
418    *) targ=$out ;;
419    esac
420
421    echo $out: stmp-dirs
422    echo "	$make_compile" \\
423    echo '	  LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)' $flags '" ' \\
424    echo '	  MULTILIB_CFLAGS="'$flags'"' T=$t $targ
425
426    all="$all $out"
427  done
428done
429
430echo ""
431echo "all: $all"
432
433echo ""
434echo "install: $all"
435for ml in $MULTILIBS; do
436  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
437  flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
438  if [ $dir != . ]; then
439    ldir='$(libsubdir)'/$dir
440    echo "	if [ -d $ldir ]; then true; else mkdir $ldir; chmod a+rx $ldir; fi;"
441  else
442    ldir='$(libsubdir)'
443  fi
444  echo '	$(INSTALL_DATA)' ${dir}/libgcc.a ${ldir}/
445  echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc.a
446
447  if [ "$SHLIB_LINK" ]; then
448    echo '	$(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
449    echo '	$(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
450
451    if [ -z "$SHLIB_MULTILIB" ]; then
452      if [ "$dir" = . ]; then
453	shlib_base_name=libgcc_s
454      else
455	shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g`
456      fi
457      shlib_so_name="$shlib_base_name"
458      shlib_dir=
459      shlib_slibdir_qual=
460      if [ -n "$MULTILIB_OSDIRNAMES" ]; then
461	gcc_multilib_dir=`./xgcc -B./ $flags --print-multi-directory`
462	os_multilib_dir=`./xgcc -B./ $flags --print-multi-os-directory`
463	if [ "$dir" != . ]; then
464	  shlib_dir="$dir"/
465	fi
466	gcc_multilib_sup=`echo $gcc_multilib_dir | sed 's~^[^/]*/~~'`
467	os_multilib_base=`echo $os_multilib_dir | sed -n "s~/${gcc_multilib_sup}\$~~p"`
468	if [ -z "$os_multilib_base" ]; then
469	  shlib_so_name=libgcc_s
470	  if [ "$os_multilib_dir" != "." ]; then
471	    shlib_slibdir_qual="/$os_multilib_dir"
472	  fi
473	else
474	  shlib_so_name=libgcc_s_`echo $gcc_multilib_sup | sed s,/,_,g`
475	  shlib_slibdir_qual="/$os_multilib_base"
476	fi
477      fi
478      echo "	$SHLIB_INSTALL" \
479	| sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
480	      -e "s%@shlib_so_name@%$shlib_so_name%g" \
481	      -e "s%@shlib_dir@%$shlib_dir%g" \
482	      -e "s%@shlib_slibdir_qual@%$shlib_slibdir_qual%g"
483    elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
484      shlib_base_name="libgcc_s";
485      echo "	$SHLIB_INSTALL" \
486	| sed -e "s%@shlib_base_name@%$shlib_base_name%g" \
487	      -e "s%@shlib_so_name@%$shlib_base_name%g" \
488	      -e "s%@shlib_dir@%%g" \
489	      -e "s%@shlib_slibdir_qual@%%g"
490    fi
491  fi
492done
493for f in $EXTRA_MULTILIB_PARTS; do
494  for ml in $MULTILIBS; do
495    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
496    if [ $dir != . ]; then
497      out=${dir}/$f
498      ldir='$(libsubdir)'/$dir
499    else
500      out=$f
501      ldir='$(libsubdir)'
502    fi
503    echo '	$(INSTALL_DATA)' $out $ldir/
504  done
505done
506