Vilket format ska en makefile sparas i?
Vilket format ska en makefile sparas i?
Ja, som rubriken lyder: vilket format ska en makefile sparas i?
Jag håller på att lära mig lite C-programmering (utöver för MCU:er) och har fått i uppgift att göra en makefile.
Jag hittar tonvis med info på nätet om hur man skriver makefiler men INGEN nämner i vilket format den ska sparas i!
En till fråga, om jag fattat det rätt måste filen heta Makefile med stort M och sen skriver jag bara make i terminalen?
Jag kör 32-bit Windows 7 med Cygwin-terminal och använder Dev-C++.
Jag håller på att lära mig lite C-programmering (utöver för MCU:er) och har fått i uppgift att göra en makefile.
Jag hittar tonvis med info på nätet om hur man skriver makefiler men INGEN nämner i vilket format den ska sparas i!
En till fråga, om jag fattat det rätt måste filen heta Makefile med stort M och sen skriver jag bara make i terminalen?
Jag kör 32-bit Windows 7 med Cygwin-terminal och använder Dev-C++.
Re: vilket format ska en makefile sparas i?
Det brukar vara en vanligt textfil, innehållet kan man säga är ett script med väldigt mycket olika flaggor.
Re: vilket format ska en makefile sparas i?
prövade just det men får bara upp följande:
Kod: Markera allt
$ make
make: *** No targets specified and no makefile found. Stop.
Re: vilket format ska en makefile sparas i?
och den ska normalt heta "Makefile"...
annars
annars
Kod: Markera allt
make -f dittegetsuperfilnamn
Re: Vilket format ska en makefile sparas i?
Du kan prova detta:
eller
För att få reda på vilket namn som används som standard.
Kod: Markera allt
ktrace make
Kod: Markera allt
strings -a make | grep -i Makefile
Re: Vilket format ska en makefile sparas i?
prövade att göra som niklo skrev, resultatet:
jag väljer save as type: all files *.* och döper filen till my_makefile.txt
Jag förstår inte varför den säger att det inte finns någon sådan fil, jag har kört alla filer i den mappen (.../cygwin/home/Martin) och det har alltid fungerat att kompilera manuellt i terminalen med kommandot gcc -o filename filename.c
@blueint
prövade dina kommandon, de gav följande:
respektive:
Kod: Markera allt
$ make -f my_makefile
make: my_makefile: No such file or directory
make: *** No rule to make target `my_makefile'. Stop.
Jag förstår inte varför den säger att det inte finns någon sådan fil, jag har kört alla filer i den mappen (.../cygwin/home/Martin) och det har alltid fungerat att kompilera manuellt i terminalen med kommandot gcc -o filename filename.c
@blueint
prövade dina kommandon, de gav följande:
Kod: Markera allt
$ ktrace make
-bash: ktrace: command not found
Kod: Markera allt
$ strings -a make | grep -i Makefile
strings: 'make': No such file
Re: Vilket format ska en makefile sparas i?
Om filen heter "my_makefile.txt" så kommer den inte att hitta filen "my_makefile"
Format (text) behöver inte betyda en viss filändelse.
Format (text) behöver inte betyda en viss filändelse.
Re: Vilket format ska en makefile sparas i?
Men om den inte heter Makefile så får du ju skriva vad filen faktiskt heteroch döper filen till my_makefile.txt
Kod: Markera allt
make -f my_makefile.txt
Re: Vilket format ska en makefile sparas i?
Toppen!
problemet löst 
tackar för de snabba svaren!
EDIT:
Jag prövade först att sparad den som Makefile men då ville det inte så jag vet inte vad problemet var då, men men.. nu kan jag iallafall gå vidare med min lista med inlämningsuppgifter
Kod: Markera allt
$ make -f my_makefile.txt
gcc -c modul1.c
gcc -o mitt_program mitt_program.c modul1.o

tackar för de snabba svaren!
EDIT:
Jag prövade först att sparad den som Makefile men då ville det inte så jag vet inte vad problemet var då, men men.. nu kan jag iallafall gå vidare med min lista med inlämningsuppgifter

Re: Vilket format ska en makefile sparas i?
> EDIT:
> Jag prövade först att sparad den som Makefile men då ville det inte så jag vet inte vad problemet var då,
Alltså "Makefile." *utan* ".txt" ?
Annars så var det nog just det som var felet.
Personligen kan jag tycka att det är fel från början att ha ett default värde
för fil *namn*, OK om det var ett default för filtyp, men namn är bättre om
man får ange vid en build för att inte röra till det.
> Jag prövade först att sparad den som Makefile men då ville det inte så jag vet inte vad problemet var då,
Alltså "Makefile." *utan* ".txt" ?
Annars så var det nog just det som var felet.
Personligen kan jag tycka att det är fel från början att ha ett default värde
för fil *namn*, OK om det var ett default för filtyp, men namn är bättre om
man får ange vid en build för att inte röra till det.
Re: Vilket format ska en makefile sparas i?
jaså? varför/var då?ronnylov skrev:Det ska vara makefile med litet m i början.
Re: Vilket format ska en makefile sparas i?
Jag vet inte hur det är med Cygwin men Linux är case sensitive. Så "M" och "m" är två skillda saker.
--Per
--Per
Re: Vilket format ska en makefile sparas i?
Jag menar helt enkelt att default filnamn för makefilen är makefile utan någon extension och med litet m i början. Det fungerar med filnamnet makefile för mig. Nu kör jag i och för sig Linux och där skiljer man på stora och små bokstäver.
Re: Vilket format ska en makefile sparas i?
'Makefile' eller 'makefile' ska fungera båda två, anledningen till det versala M:et är att det blir enklare att se filen när man listar innehållet i en katalog (med ls).
Samma sak som med readme-filer som brukar heta README med versaler.
Samma sak som med readme-filer som brukar heta README med versaler.