12.5. Przykładowy plik szarp-plc.cfg

# konfiguracja docgena
<docgen>
	# sciezka do dodatkowego slownika
	ASPELL_DICT=/opt/szarp/resources/praterm-aspell.pl.pws
	# na ten adres wysylane jest info o bledach ortograficznych
	# jesli nie udalo sie znalezc autora commit-a
	SVN_ADMIN=root
	# prefix sciezki do kopii roboczej repozytorium programy
	# UWAGA: nie uzywac wiodacego ani koncowego znaku `/'
	# UWAGA2: jak nie wiesz o co chodzi to zostaw tak jak jest ...
	WORKING_COPY_PREFIX=programy/trunk
</docgen>

# konfiguracja verslina
<verslin>
	# numer uzytkownika (parametr obowiazkowy)
	USER		-1

	# sciezki do katalogow, na ktore sa zamapowane pod dosemu/dosbox-em/wine-em dyski logiczne
	# konieczne jest podanie tylko tego dysku na ktorym znajduje sie repozytorium `programy'
	# (czyli tego, ktory jest wyspecyfikowany w parametrze WORKPATH)
	# <DRIVES>
		#C 	/.../.../drive-C
		#D	/.../.../drive-D
		#E 	/.../.../drive-E
	# </DRIVES>

	# DOS-owa sciezka do repozytorium `programy' (parametr obowiazkowy)
	WORKPATH	D:\programy\trunk

	# czy uruchomiac przed kompilacja narzedzie `wt'
	USE_WT		1

	# sciezka do `wt'; jesli katalog zawierajacy wt jest w zmiennej $PATH wystarczy samo "wt"
	WT_PATH		wt

	# nazwa generowanego przez skrypt batch-a
	BATCH_NAME	make.bat

	# nazwa pliku ze "zrzutem" sesji dosemu/wine-a
	DUMP_FILENAME	verslin.log

		# konfiguracja specyficzna dla Z-Elektronik + KEIL 3 (platformy starsze niz 3000)
		<TARGET Z-3>
			##### Podgalaz parametru WORKPATH zawierajaca platformy ######
			EPROMPATH	eprom
			##### Podgalaz parametru WORKPATH zawierajaca proclib ######
			PROCLIBPATH	proclib
			###### Lokalizacja bibliotek kompilatora Keil ###############
			KEILLIB		d:\c51pdk\lib
			KEILBIN		d:\c51pdk\bin
			KEILINC		d:\c51pdk\inc
			#KEILINC		d:\c51pdk\inc;d:\programy\trunk\eprom\lib_320
			############# Definicje kompilatora i linkera ################
			# nazwa kompilatora
			CC		C51
			# opcje kompilacji
			CFLAGS		cd sb db oe lc pl(62) pw(120)
			# nazwa linkera
			LD		l51
			############### Zestaw komend do wykonania po kompilacji pod emulatorem #######
			EMUL_CMDS <<EOF
				del SRC.obj
				D:\c51pdk\BIN\ohs51 OUT
				del OUT
				#D:\c51pdk\BIN\neathex OUT.hex 64 32768
				EOF
			############### Zestaw komend do wykonania po kompilacji pod Linuksem #########
			LINUX_CMDS <<EOF
				# DOSBOX workaround
				# mv `echo OUT.hex | tr [:lower:] [:upper:]` OUT.hex
				/opt/szarp/bin/neathex OUT.hex 64 32768
				EOF
			###################################################################
			# najwazniejsze na koncu ....
			# nazwa emulatora musi odpowiadac odpowiedniej sekcji <EMULATOR xxx>
			OS_EMULATOR	DOSEMU
		</TARGET Z-3>

		# konfiguracja dla Z-Elektronik + KEIL 6 (platformy 3000 i nowsze)
		<TARGET Z-6>
			##### Podgalaz parametru WORKPATH zawierajaca platformy ######
			EPROMPATH	eprom
			##### Podgalaz parametru WORKPATH zawierajaca proclib ######
			PROCLIBPATH	proclib
			###### Lokalizacja bibliotek kompilatora Keil ###############
			KEILLIB		E:\Keil_PK51\C51\LIB
			KEILBIN		E:\Keil_PK51\C51\BIN
			KEILINC		e:\c51pdk\inc;d:\programy\trunk\eprom\lib_320
			############# Definicje kompilatora i linkera ################
			# nazwa kompilatora
			CC		C51
			# opcje kompilacji
			CFLAGS		cd sb db oe lc pl(62) pw(120) define(TIMESTAMP=__TIMESTAMP__)
			# nazwa linkera
			LD		bl51
			############### Zestaw komend do wykonania po kompilacji pod emulatorem #########
			EMUL_CMDS <<EOF
				del SRC.obj
				E:\Keil_PK51\C51\BIN\oh51 OUT
				del OUT
				EOF
			############### Zestaw komend do wykonania po kompilacji pod Linuksem #########
			LINUX_CMDS <<EOF
				/opt/szarp/bin/neathex OUT.hex 64 32768
				EOF
			###################################################################
			# najwazniejsze na koncu ....
			# nazwa emulatora musi odpowiadac odpowiedniej sekcji <EMULATOR xxx>
			OS_EMULATOR	WINE
		</TARGET Z-6>

		# konfiguracja specyficzna dla Sterkom + KEIL 6
		<TARGET SK-6>
			##### Podgalaz parametru WORKPATH zawierajaca platformy ######
			EPROMPATH	eprom\dproc
			###### Lokalizacja bibliotek kompilatora Keil ###############
			KEILLIB		E:\Keil_PK51\C51\LIB
			KEILBIN		E:\Keil_PK51\C51\BIN
			KEILINC		E:\Keil_PK51\C51\INC;E:\Keil_PK51\C51\INC\PHILIPS
			############# Definicje kompilatora i linkera ################
			# nazwa kopilatora
			CC		C51
			# opcje kompilacji
			CFLAGS		LARGE OPTIMIZE (6,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS PREPRINT
			# nazwa linkera
			LD		bl51
			############### Zestaw komend do wykonania po kompilacji #########
			EMUL_CMDS <<EOF
				del SRC.obj
				del config.obj
				del SRC.I
				del config.I
				E:\Keil_PK51\C51\BIN\oh51 OUT
				rem Keil v8:
					rem D:\Keil8\C51\BIN\oh51 OUT
				del OUT
				EOF
			# ++ te polecenia - tylko jezeli chcemy dostac sam program tech. bez platformy
			#	E:\shex.com OUT.hex 0x8000
			#	del OUT.hex
			#	del Out1.hex
			#	ren Out2.hex OUT.hex
			# --
			###################################################################

			# `wt' uzywamy tylko z Z-Elektronix'ami
			USE_WT		0

			# najwazniejsze na koncu ....
			# nazwa emulatora musi odpowiadac odpowiedniej sekcji <EMULATOR xxx>
			OS_EMULATOR	WINE
		</TARGET SK-6>

		# parametry specyficzne dla dosemu
		<EMULATOR DOSEMU>
			# uruchomienie emulatora; mozna je parametryzowac przy pomocy:
			# ${WORKDRIVE} - litera dysku (wzieta z param. WORKPATH)
			# ${COMPILATIONPATH} - sciezka do katalogu w ktorym prowadzona jest kompilacja
			# ${BATCH_NAME} - nazwa pliku BAT, ktory ma zostac wykonany
			RUN_CMD		dosemu -dumb -input "\r\\P1;${WORKDRIVE}\rcd ${COMPILATIONPATH}\r${BATCH_NAME}\r"
			# w dosemu jest dobrze jak jest: `@if errorlevel x goto'
			IF_GOTO_WORKAROUND  goto
			# exit vs. exitemu
			EXIT_WORKAROUND	    @exitemu
				# tu mozna ustawic mapowanie dyskow per-emulator
				# nastawy zrobione tu "przykrywaja" nastawy globalne
				# <DRIVES>
				#	C	/home/...../
				#	D	/home/...../
				# </DRIVES>
		</EMULATOR DOSEMU>

		# parametry specyficzne dla dosbox-a
		<EMULATOR DOSBOX>
			# uruchomienie emulatora; mozna je parametryzowac - patrz w sekcji DOSEMU
			RUN_CMD dosbox -conf ~/.dosbox.conf ${BATCH_NAME}
			# w dosbox-ie jest dobrze jak jest: `@if errorlevel x goto'
			IF_GOTO_WORKAROUND goto
			# exit vs. exitemu (tu: maly trick, zeby "przytrzymac" znikajace okienko)
			EXIT_WORKAROUND	    <<EOF
						@pause
						@exit
						EOF
		</EMULATOR DOSBOX>

		# parametry specyficzne dla wine-a
		<EMULATOR WINE>
			# uruchomienie emulatora; mozna je parametryzowac - patrz w sekcji DOSEMU
			RUN_CMD wine cmd /c ${BATCH_NAME}
			# w wine jest dobrze jak jest: `@if errorlevel x @goto'
			IF_GOTO_WORKAROUND @goto
			# exit vs. exitemu
			EXIT_WORKAROUND	    @exit
		</EMULATOR WINE>
</verslin>

# vim: syntax=config ts=8 sts=8 sw=8 noet tw=132