Makefile.common
Z UMP
Narzędzie dla użytkowników systemów Unix i Linux służące do operowania na źródłach UMP.
Spis treści |
Podstawowa funkcjonalność
Poniższy opis przytaczam za Tomaszem Surmaczem, jego autorem.
Do działania Makefile wymaga ustawienia 2 zmiennych środowiskowych:
- CVS - katalog ze źródłami (czyli ten właśnie z Makefile.common)
- DIR - jeden lub kilka umpów
np:
setenv DIR "UMP-Opole UMP-Katowice" setenv CVS /home/user/ump
Po czym najlepiej zrobić sobie:
cd $CVS mkdir tmp cd tmp ln -s ../Makefile.common Makefile
czyli utworzyć katalog roboczy "tmp" i tam pracować za pomocą:
make mont - montuje źródła. Na końcu dokleja plik "attach", jeśli taki istnieje make x - generuje listę niestyków (zmontowanego wynik.mp)
- uruchomić mapedita, poprawiać
make demont - rozmontowuje, każe uaktualnić źródła (copy&paste myszką) make commit - commituje poprawki
i tak w kółko, jak długo starcza chęci i materiału do poprawiania. Dodatkowo:
make clean - czyści pliki tymczasowe (diffy z rozmontowywania, itp.) make close - generuje listę za bliskich węzłów make dead - generuje listę ślepych make wpt - generuje listę węzłów (odwrotnie niż "make x") make update - uaktualnia źródła edytowanego ump-a
Cele "x", "wpt", "close", "dead" generują listę punktów zawsze do pliku wynik-x.wpt, warto więc utworzyć plik "attach" z zawartością:
;@FILE,"Z:\home\USER\ump\tmp\wynik-x.wpt"
Plik attach jest automatycznie doklejany na końcu podczas montowania mapy i nie trzeba wtedy samemu za każdym razem wczytywać wynik-x.wpt po każdorazowym rozpoczęciu edycji. Często używanymi załącznikami są także pliki "new.plt", "old.plt" i chg.plt" generowane przez skrypt narzedzia/pltdiff, warto więc dopisać tam także:
;@FILE,"Z:\home\USER\ump\tmp\new.plt" ;@FILE,"Z:\home\USER\ump\tmp\old.plt" ;@FILE,"Z:\home\USER\ump\tmp\chg.plt"
a także swoje własne często używane załączniki (np. pliki ze śladami, itp.)
Analogicznie doklejany jest plik bm.tmp (jeśli istnieje), w którym znajdować się mogą bookmarki (feature najnowszych wersji ME++). Za pomocą bookmarków można na przykład oglądać niestyki i inne błędy routingu – żeby to zrobić należy zmontować mapę, wygenerować niestyki, z nich zrobić bookmarki, a następnie jeszcze raz zmontować mapę ze zrobionymi bookmarkami. Czyli:
make mont x bm make mont
Cele można łączyć (tak jak w przykładzie powyżej), czyli np. wykonać:
make clean mont x (wyczyści, zmontuje, wygeneruje niestyki) # edycja mapeditem (w osobnym oknie) make demont # kopiowanie plików, ponowna edycja make demont # skopiowanie reszty plików make clean mont close # ponowna edycja (nie zapomnieć ponownie wczytać wynik.mp w mapedicie!) make demont # skopiowanie poprawek make clean commit
Dostępne cele
Podstawowe operacje
mont - montowanie mapy mont-topo - montuje wersję topo mapy (do montowania włącza pliki *.topo.txt i *.topo.pnt) demont - rozmontowanie mapy, wykonanie diffów, pliki różniące się względem oryginału tworzone są w katalogu bieżącym clean - usuwa pozostałości po rozmontowanej mapie, pliki *.plt i wynik* zostawiane są w spokoju mrproper - pełne czyszczenie katalogu roboczego, kasuje to co clean oraz pliki tymczasowe, wynik* i *.plt
Interakcja z CVS
update - aktualizacja źródeł commit - wysłanie poprawek - wymaga uprawnień do zapisu w CVS wrzuta - pakuje wszystkie *.diff do pliku wrzuta.tgz – jeśli nie masz uprawnień do zapisu w CVS, wygeneruj taki plik i wrzuć go do FlySpray
Sprawdzanie mapy (wymagany netgen)
sprawdz - sprawdzenie poprawności mapy dead - wykryj ślepe końce, przy okazji oflagowuje węzły "dociągane" deadnm - j.w., ale odfiltrowuje część węzłów skrajnych mapy x - wykryj skrzyżowania bez węzłów close - wykryj zbyt blisko położone węzły number - szybkie wykrywanie podstawowych błędów numeracji (bez używania netgena) numbers - pełne wykrywanie błędów numeracji bm - generuje bookmarki z tego, co wcześniej zostało sprawdzone.
bookmarki działają w połączeniu z innymi testami, przetwarzając plik wynikowy wynik-x.wpt na format bookmarków (plik tymczasowy bm.tmp, który zostanie użyty w kolejnym montowaniu mapy). Czyli sensowne jest np. zrobienie "make mont x bm; make mont", albo "make mont deadnm bm; make mont" itp. itd.
Testy związane z routingiem
Poniższe cele służą do wygenerowania informacji o routingu przydatnych np. do sprawdzenia ciągłości routingu w danym obszarze.
test - wygeneruj dane potrzebne do routingu test-j - wygeneruj dane potrzebne do routingu - z włączoną opcją j netgena test-k - wygeneruj dane potrzebne do routingu - z włączoną opcja k netgena test-jk - wygeneruj dane potrzebne do routingu - z włączonymi opcjami j i k netgena class - wygeneruj informacje o klasach routingu do osobnych plików (domyślnie bazuje na make test)
Inne
visual - na podstawie plików diff tworzy listę zmian dokonanych na mapie. Mapa musi być wcześniej rozmontowana! cum - wykonuje kolejno clean, update, mont cd - clean, demont help - opis wszystkich zdefiniowanych funkcji
Zmienne środowiskowe
Wymagane do poprawnej pracy
CVS - położenie lokalnej kopii źródeł mapy (katalog główny) DIR - UMP który chcemy montować
Opcjonalne
MONTEXTRA - dodatkowe opcje dla mont-demont-multi2.pl, np. --extra-types NETGENEXTRA - dodatkowe opcje dla netgen-a, np. -p6
Dodatkowe informacje
Opiekunem narzędzia jest Tomasz Surmacz, wspomagany przez Tomasza Babczyńskiego.