AWK - skrypt tworzący plik kompilujący źródłowy kod języka C++ przy użyciu g++.

Dodano: 2010-07-31

Tworząc programy w języku C++ pod systemy Linux najlepiej udostępniać użytkownikom kod źródłowy, jeżeli program jest Open Source by mogli oni wykonać kompilację programu pod swój system.

Użytkownik, który dostał takiego rodzaju plik z kodami źródłowymi, mógłby nie potrafić prawidłowo skompilować programu, najlepszym rozwiązaniem tego problemy, byłby skrypt automatyzujący kompilację plików zawierających kod źródłowy. Tworząc samemu taki plik może to być żmudna praca, jeżeli program składa się z dużej ilości kodów źródłowych w różnych bibliotekach, czemu więc nie utworzyć skryptu który wykona tą operację za programistę.

Poniższy skrypt tworzy plik skryptu „instalacji” programu w systemie Linux (tzn. tworzy kroki kompilacji programu z plików .cpp przy użyciu kompilatora g++), ogranicza się tylko do katalogu, w którym się znajduje tzn. jeżeli piszemy program używając języka C++ i umieszczamy wszystkie pliki .cpp w tymże katalogu, to po odpaleniu skryptu tworzącego gotowy plik „instalacyjny” będzie on brał pod uwagę tylko pliki z kodem źródłowym z tego katalogu.

Drukuj Zaznacz kod
echo ""  > install.bash

ls -l | awk ' 
BEGIN { 
	print "Skryt kompilujacy program przy użyciu g++.";
	lineEnd = "";
}{
	extension = $8;
	nameFile = $8;
	sub("(.+\.)", "", extension);
	sub("(\..+)", "", nameFile);

	if (extension == "cpp"){
		print $8;
		print "g++ -c "$8 >> "install.bash";	
		lineEnd = lineEnd" "nameFile".o";
		
	}
}
END {
	print "g++ " lineEnd " -o progr" >> "install.bash";
}
'

chmod u+x install.bash