Funderingar kring Makefile's samt g++

Permalänk
Medlem

Funderingar kring Makefile's samt g++

Hej!

Har suttit och pillat lite med makefiler idag efter ett låååångt uppehåll från programmeringen.
Hade tidigare skrivit ett litet C++ konsolprogram som ansluter till en mySQL databas och hämtar lite bös.

Tänkte underlätta kompileringen av detta nu när jag började pilla igen och skapade mig en sk Makefile enl. nedan:

# Här sätter vi variabeln CC till vilken kompilator som ska nyttjas CC=g++ # Här meddelar vi kompilatorn att variabeln CFLAGS kommer innehålla de # parametrar vi vill använda för att kompilera vårt projelkt. CFLAGS=`mysql_config --include --libs` all: main main: lon.o funktioner.o $(CC) lon.o funktioner.o -o lon $(CFLAGS) lon.o: lon.cpp $(CC) -c lon.cpp funktioner.o: funktioner.cpp $(CC) -c funktioner.cpp clean: rm -rf *.o

Fråga1: Är den korrekt? I min värld så ska den avbryta efter man har kört "make all", vilket den inte gör. Den fortsätter och kompilerar lon.cpp, samt funktioner.cpp också. Jag kan köra den i sin helhet (och då få allt kompilerat två gånger känns det som, samt de valda filerna för sig utan problem om jag anger att bara kompilera dem).

Fråga2: Kikar man in CFLAGS ibörjan så har ni vad jag skickar med till g++ för att kompileringen ska gå igenom. Om jag väljer att placera CFLAGS innan filerna som ska kompileras så funkar det ej. Någon som har koll på varför inte?

Fråga3: -Wall = ?? Har sett det massa, men har ingen koll på vad det gör när man skickar det till g++?
[edit] Fråga3 är besvarad nedan... tackar!

Thnx..

Permalänk
Medlem

-Wall betyder Display W(arnings) all. Med andra ord att alla typer av varningar som gcc upptäcker runt din källkod kommer att skrivas ut.

Generellt sett en bra sak då varningar ofta indikerar att ens kod kan skrivas på ett bättre sätt.

//C

Permalänk
Medlem