Sida 1 av 2

Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 21:32:46
av mmarks
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++.

Re: vilket format ska en makefile sparas i?

Postat: 1 april 2012, 21:43:09
av swesysmgr
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?

Postat: 1 april 2012, 21:51:12
av mmarks
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?

Postat: 1 april 2012, 21:54:10
av niklo
och den ska normalt heta "Makefile"...
annars

Kod: Markera allt

make -f dittegetsuperfilnamn

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 22:06:04
av blueint
Du kan prova detta:

Kod: Markera allt

ktrace make
eller

Kod: Markera allt

strings -a make | grep -i Makefile
För att få reda på vilket namn som används som standard.

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 22:09:32
av mmarks
prövade att göra som niklo skrev, resultatet:

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 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:

Kod: Markera allt

$ ktrace make
-bash: ktrace: command not found
respektive:

Kod: Markera allt

$ strings -a make | grep -i Makefile
strings: 'make': No such file


Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 22:16:45
av cyr
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.

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 22:18:12
av snigelen
och döper filen till my_makefile.txt
Men om den inte heter Makefile så får du ju skriva vad filen faktiskt heter

Kod: Markera allt

make -f my_makefile.txt
(Visst överlapp med cyr's svar...)

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 22:20:56
av mmarks
Toppen!

Kod: Markera allt

$ make -f my_makefile.txt
gcc -c modul1.c
gcc -o mitt_program mitt_program.c modul1.o
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 :)

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 23:08:57
av ronnylov
Det ska vara makefile med litet m i början.

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 23:49:20
av sodjan
> 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.

Re: Vilket format ska en makefile sparas i?

Postat: 1 april 2012, 23:52:54
av niklo
ronnylov skrev:Det ska vara makefile med litet m i början.
jaså? varför/var då?

Re: Vilket format ska en makefile sparas i?

Postat: 2 april 2012, 07:21:18
av perra_e
Jag vet inte hur det är med Cygwin men Linux är case sensitive. Så "M" och "m" är två skillda saker.
--Per

Re: Vilket format ska en makefile sparas i?

Postat: 2 april 2012, 07:53:54
av ronnylov
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?

Postat: 2 april 2012, 08:32:44
av calmar
'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.