mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-25 01:50:30 -04:00 
			
		
		
		
	
		
			
	
	
		
			226 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			226 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #! /bin/bash
 | ||
|  | 
 | ||
|  | # copyright John Maddock 2003 | ||
|  | # Distributed under the Boost Software License, Version 1.0.  | ||
|  | # (See accompanying file LICENSE_1_0.txt or copy at  | ||
|  | # http://www.boost.org/LICENSE_1_0.txt. | ||
|  | 
 | ||
|  | libname="" | ||
|  | src="" | ||
|  | header="" | ||
|  | all_dep="" | ||
|  | 
 | ||
|  | # current makefile: | ||
|  | out="" | ||
|  | # temporary file: | ||
|  | tout="" | ||
|  | # install target temp file: | ||
|  | iout="" | ||
|  | # debug flag: | ||
|  | debug="no" | ||
|  | # compile options: | ||
|  | opts="" | ||
|  | # main output sub-directory: | ||
|  | subdir="" | ||
|  | # vcl flag: | ||
|  | use_vcl="yes" | ||
|  | 
 | ||
|  | ####################################################################### | ||
|  | # | ||
|  | # section for Sun Forte 6.1 (5.1 compiler) | ||
|  | # | ||
|  | ####################################################################### | ||
|  | 
 | ||
|  | function sun_gen_lib() | ||
|  | { | ||
|  | 	all_dep="$all_dep $subdir/$libname $subdir/$libname.a" | ||
|  | 
 | ||
|  | # | ||
|  | # set up section comments: | ||
|  | 	cat >> $tout << EOF | ||
|  | ######################################################## | ||
|  | # | ||
|  | # section for $libname.a | ||
|  | # | ||
|  | ######################################################## | ||
|  | EOF | ||
|  | # | ||
|  | #	process source files: | ||
|  | 	all_obj="" | ||
|  | 	all_lib_obj="" | ||
|  | 	for file in $src | ||
|  | 	do | ||
|  | 		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` | ||
|  | 		obj="$subdir/$libname/$obj" | ||
|  | 		all_obj="$all_obj $obj" | ||
|  | 		all_lib_obj="$all_lib_obj $obj" | ||
|  | 		echo "$obj: $file \$(ALL_HEADER)" >> $tout | ||
|  | 		echo "	CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout | ||
|  | 		echo "" >> $tout | ||
|  | 	done | ||
|  | # | ||
|  | #	 now for the directories for this library: | ||
|  | 	echo "$subdir/$libname : " >> $tout | ||
|  | 	echo "	mkdir -p $subdir/$libname" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | # | ||
|  | #	 now for the clean options for this library: | ||
|  | 	all_clean="$all_clean $libname""_clean" | ||
|  | 	echo "$libname"_clean : >> $tout | ||
|  | 	echo "	rm -f $subdir/$libname/"'*.o' >> $tout | ||
|  | 	echo "	rm -fr $subdir/$libname/\$(SUNWS_CACHE_NAME)" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | # | ||
|  | #	 now for the main target for this library: | ||
|  | 	echo $subdir/$libname.a : $all_obj >> $tout | ||
|  | 	echo "	CC -xar \$(CXXFLAGS) \$(LDFLAGS) -o $subdir/$libname.a $all_lib_obj" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | } | ||
|  | 
 | ||
|  | function sun_gen_dll() | ||
|  | { | ||
|  | 	all_dep="$all_dep $subdir/shared_$libname $subdir/$libname.so" | ||
|  | # | ||
|  | # set up section comments: | ||
|  | 	cat >> $tout << EOF | ||
|  | ######################################################## | ||
|  | # | ||
|  | # section for $libname.so | ||
|  | # | ||
|  | ######################################################## | ||
|  | EOF | ||
|  | # | ||
|  | #	process source files: | ||
|  | 	all_obj="" | ||
|  | 	for file in $src | ||
|  | 	do | ||
|  | 		obj=`echo "$file" | sed 's/.*src\/\(.*\)cpp/\1o/g'` | ||
|  | 		obj="$subdir/shared_$libname/$obj" | ||
|  | 		all_obj="$all_obj $obj" | ||
|  | 		echo "$obj: $file \$(ALL_HEADER)" >> $tout | ||
|  | 		echo "	CC -c \$(INCLUDES) $opts \$(CXXFLAGS) -o $obj $file" >> $tout | ||
|  | 		echo "" >> $tout | ||
|  | 	done | ||
|  | # | ||
|  | #	 now for the directories for this library: | ||
|  | 	echo "$subdir/shared_$libname :" >> $tout | ||
|  | 	echo "	mkdir -p $subdir/shared_$libname" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | # | ||
|  | #	 now for the clean options for this library: | ||
|  | 	all_clean="$all_clean $libname""_clean_shared" | ||
|  | 	echo "$libname"_clean_shared : >> $tout | ||
|  | 	echo "	rm -f $subdir/shared_$libname/"'*.o' >> $tout | ||
|  | 	echo "	rm -fr $subdir/shared_$libname/\$(SUNWS_CACHE_NAME)" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | # | ||
|  | #	 now for the main target for this library: | ||
|  | 	echo $subdir/$libname.so : $all_obj >> $tout | ||
|  | 	echo "	CC $opts -G -o $subdir/$libname.so \$(LDFLAGS) $all_obj \$(LIBS)" >> $tout | ||
|  | 	echo "" >> $tout | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | function sun_gen() | ||
|  | { | ||
|  | 	tout="temp" | ||
|  | 	iout="temp_install" | ||
|  | 	all_dep="$subdir" | ||
|  | 	all_clean="" | ||
|  | 	echo > $out | ||
|  | 	echo > $tout | ||
|  | 	rm -f $iout | ||
|  | 
 | ||
|  | 	libname="libboost_regex\$(LIBSUFFIX)" | ||
|  | 	opts="-O2 -I../../../" | ||
|  | 	sun_gen_lib | ||
|  | 
 | ||
|  | 	libname="libboost_regex_mt\$(LIBSUFFIX)" | ||
|  | 	opts="-O2 -mt -I../../../" | ||
|  | 	sun_gen_lib | ||
|  | 	 | ||
|  | 	libname="libboost_regex\$(LIBSUFFIX)" | ||
|  | 	opts="-KPIC -O2 -I../../../" | ||
|  | 	sun_gen_dll | ||
|  | 
 | ||
|  | 	libname="libboost_regex_mt\$(LIBSUFFIX)" | ||
|  | 	opts="-KPIC -O2 -mt -I../../../" | ||
|  | 	sun_gen_dll | ||
|  | 	 | ||
|  | 	 | ||
|  | 	cat > $out << EOF | ||
|  | # copyright John Maddock 2006 | ||
|  | # Distributed under the Boost Software License, Version 1.0.  | ||
|  | # (See accompanying file LICENSE_1_0.txt or copy at  | ||
|  | # http://www.boost.org/LICENSE_1_0.txt. | ||
|  | # | ||
|  | # auto generated makefile for Sun Forte 6.1 | ||
|  | # | ||
|  | # usage: | ||
|  | # make | ||
|  | #   brings libraries up to date | ||
|  | # make clean | ||
|  | #   removes all temporary files. | ||
|  | 
 | ||
|  | # | ||
|  | # Add additional compiler options here: | ||
|  | # | ||
|  | CXXFLAGS= | ||
|  | # | ||
|  | # Add additional include directories here: | ||
|  | # | ||
|  | INCLUDES= | ||
|  | # | ||
|  | # add additional linker flags here: | ||
|  | # | ||
|  | LDFLAGS= | ||
|  | # | ||
|  | # add additional libraries to link to here: | ||
|  | # | ||
|  | LIBS= | ||
|  | # | ||
|  | # lib suffix string: | ||
|  | # | ||
|  | LIBSUFFIX= | ||
|  | # | ||
|  | # template cache path: | ||
|  | # | ||
|  | SUNWS_CACHE_NAME=SunWS_cache | ||
|  | 
 | ||
|  | 
 | ||
|  | EOF | ||
|  | 	echo "" >> $out | ||
|  | 	echo "ALL_HEADER=$header" >> $out | ||
|  | 	echo "" >> $out | ||
|  | 	echo "all : $all_dep" >> $out | ||
|  | 	echo >> $out | ||
|  | 	echo "clean : $all_clean" >> $out | ||
|  | 	echo >> $out | ||
|  | 	echo "install : all" >> $out | ||
|  | #	cat $iout >> $out | ||
|  | 	echo >> $out | ||
|  | 	echo $subdir : >> $out | ||
|  | 	echo "	mkdir -p $subdir" >> $out | ||
|  | 	echo "" >> $out | ||
|  | 
 | ||
|  | 	cat $tout >> $out | ||
|  | } | ||
|  | 
 | ||
|  | . common.sh | ||
|  | 
 | ||
|  | # | ||
|  | # generate Sun 6.1 makefile: | ||
|  | out="sunpro.mak" | ||
|  | subdir="sunpro" | ||
|  | sun_gen | ||
|  | 
 | ||
|  | 
 | ||
|  | # | ||
|  | # remove tmep files; | ||
|  | rm -f $tout $iout | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 |