Witiko / fithesis

A former repository of the LaTeX document class for the typesetting of theses at the Masaryk University in Brno. Now migrated to the URL below.

Home Page:https://gitlab.fi.muni.cz/external_relations/document_templates/fithesis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Makefile ve Windows

VojtechRehak opened this issue · comments

Ve Windows nefunguje Makefile, protoze pouziva linuxove "mkdir -p". To ve windows neni.

Dobrý den, to předpokládám nebude jediný problém. V jaké podobě na Windows Make používáte? Vím o technologiích „Cygwin“ a „Ubuntu on Windows“, ale ani u jedné by s „mkdir -p“ neměl být problém.

Pokousel jsem se to opravit na notebooku studenta, ano je tam toho k oprave vic.

Pouzival myslim http://gnuwin32.sourceforge.net/packages/make.htm
Pro tuto verzi je potreba v Makefilu rozpoznat operacni system.
Asi by to chtelo bud upravit Makefile obdobou tohoto
UNAME_S=$(shell uname -s)

ifeq ($(UNAME_S),Linux)
# Linux setting
REMOVE=rm -rf
else
# Windows
REMOVE=del /f /s
endif

obdobne to bude potreba napriklad pro nmake...
Nebo je mozne pripravit Makefile.win (a do navodu dat make -f Makefile.win)
nebo v navodu presneji specifikovat, jaky make je potreba.
Myslim, ze „Cygwin“ nebo „Ubuntu on Windows“ je trochu overkill,
pokud chceme, aby to pouzivali i na jinych fakultach.

Dik a drzim palce.

V aktuální podobě jsou soubory Makefile obsažené napřič zdrojovými kódy určené výhradně pro unixy, vizte kořenový README, který zmiňuje v požadavcích zmiňuje „a POSIX.2-compliant environment“. Pokud se někdo nabídne, že ke všem dvanácti souborům Makefile vyrobí verzi pro cmd.exe a zdokumentuje binárky, které si uživatel Windows musí nejprve nainstalovat, potom jsem ochotný tyto změny a informace začlenit a udržovat.

Vzhledem k tomu, že se negenerují žádné binární soubory, není problém třídu fithesis3 vygenerovat na unixu a následně přenést na OS Windows, případně si stáhnout již vygenerované soubory z https://ctan.org/pkg/fithesis.

Obecně závislost na GNU Make vnímám spíš jako slabinu projektu. Generování .tex souborů a dokumentace ze souborů .dtx může uživatel dělat ručně dvěma příkazy, loga lze distribuovat přímo ve formátu PDF (tzn. není třeba aby je Makefile při kompilaci generoval) a instalaci lze rovněž popsat formou několika instrukcí v README souboru. Další funkce Makefile, jako jsou testy, generování příruček a generování ZIP souborů pro archiv CTAN jsou potom užitečné hlavně pro maintainera, tzn. pro vývoj nejsou nutné. Rád bych se tedy Makefile v dlouhodobém horizontu zbavil.