Benutze dieses Makefile wenn es schnell gehen soll. Bedenke, dass nach Targets ein TAB-Zeichen (\t) kommt. Falls man in seiner .vimrc die Option expandtab aktiviert hat, kann man das Zeichen immer noch durch die CTRL-Sequenz CTRL-i eingeben.
Einige Teile sind nur dazu da zu zeigen wie etwas geht. Z.B. die zwei Aufrufe von pkg-config. Ein Aufruf dient dazu die Libraries einzusammeln und der zweite Aufruf für die Include-Pfade. Unten werden wird OpenCV und PNG gelinkt – ist zwar nicht besonders sinnvoll, aber es zeigt wie es funktioniert.
Ich verwende diese Technik für fast alle Projekte bis ca 20 Dateien. Danach muss man mit Unterverzeichnissen und evtl. mit rekursiven Makefiles arbeiten. Doch davon ein andermal mehr.
CC=g++
APPLICATION=main
OPENCVLIBS=`pkg-config --libs opencv`
LDFLAGS=-lpng $(OPENCVLIBS)
CFLAGS = `pkg-config opencv --cflags`
DEBUG=
.SUFFIXES: .cpp
.cpp.o:
$(CC) $(CFLAGS) -c -o $@ $<
SOURCE = main.cpp \
config.cpp
OBJECTS = $(SOURCE:.cpp=.o)
all: $(APPLICATION)
$(APPLICATION): $(OBJECTS)
$(CC) $(DEBUG) -o $@ $(OBJECTS) $(LDFLAGS)
clean:
rm -f $(OBJECTS)
rm -f $(APPLICATION)