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.
This issue has been migrated to https://gitlab.fi.muni.cz/external_relations/document_templates/fithesis/-/issues/13.