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"

wtedy po zmontowaniu i wczytaniu zawsze będzie dołączony i nie trzeba będzie samemu za każdym razem wczytywać.

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.)

Cele ponadto można łączyć, 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

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

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, mount
 cd        - clean, demont

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

Dodatkowe informacje

Opiekunem narzędzia jest Tomasz Surmacz, wspomagany przez Tomasza Babczyńskiego.