60 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
| : create a directory Xsrc with name clashes resolved
 | |
| : and run make in that directory
 | |
| : '$Header$'
 | |
| 
 | |
| case $# in
 | |
| 1)	
 | |
| 	;;
 | |
| *)	echo "$0: one argument expected" 1>&2
 | |
| 	exit 1
 | |
| 	;;
 | |
| esac
 | |
| PW=`pwd`
 | |
| case $1 in
 | |
| main)	target=$PW/$1
 | |
| 	;;
 | |
| omain)	target=$PW/$1
 | |
| 	options=-DPEEPHOLE
 | |
| 	;;
 | |
| cemain)	target=$PW/$1
 | |
| 	options=-DCODE_EXPANDER
 | |
| 	;;
 | |
| Xlint)	target=$1
 | |
| 	;;
 | |
| *)	echo "$0: $1: Illegal argument" 1>&2
 | |
| 	exit 1
 | |
| 	;;
 | |
| esac
 | |
| if test -d ../Xsrc
 | |
| then
 | |
| 	:
 | |
| else	mkdir ../Xsrc
 | |
| fi
 | |
| make EMHOME=$EMHOME longnames
 | |
| : remove code generating routines from the clashes list as they are defines.
 | |
| : code generating routine names start with C_
 | |
| sed '/^C_/d' < longnames > tmp$$
 | |
| cclash -c -l7 tmp$$ > ../Xsrc/Xclashes
 | |
| rm -f tmp$$
 | |
| cd ../Xsrc
 | |
| if cmp -s Xclashes clashes
 | |
| then
 | |
| 	:
 | |
| else
 | |
| 	mv Xclashes clashes
 | |
| fi
 | |
| rm -f Makefile
 | |
| ed - $PW/Makefile <<'EOF'
 | |
| /^#EXCLEXCL/,/^#INCLINCL/d
 | |
| w Makefile
 | |
| q
 | |
| EOF
 | |
| for i in `cat $PW/Cfiles`
 | |
| do
 | |
| 	cat >> Makefile <<EOF
 | |
| 
 | |
| $i:	clashes $PW/$i
 | |
| 	\$(CID) -Fclashes < $PW/$i > $i
 | |
| EOF
 | |
| done
 | |
| make EMHOME=$EMHOME COPTIONS=$options MACH=$MACH CURRDIR=$PW/ $target
 |