mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05: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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |