우선 아래와 같이 두 개의 바이너리에 대한 mda.pro 파일을 만들어준다. 여기서는 mda와 mda_retrain 두 개의 바이너리가 생성된다. 각각의 바이너리는 서로 다른 라이브러리와 소스파일로 구성된다.
mda {
QT += core sql network
QT -= gui
TARGET = mda
CONFIG += console
SOURCES += main.cpp \
syslog_logger.cpp \
mda.cpp \
archiver.cpp \
parser.cpp \
utils.cpp \
spf.cpp \
resolver.cpp \
spamfilter.cpp
HEADERS += logger.h \
syslog_logger.h \
mda.h \
archiver.h \
parser.h \
utils.h \
spf.h \
resolver.h \
spamfilter.h
INCLUDEPATH = /usr/local/dspam/include
LIBS += `pkg-config --libs vmime` -L/usr/local/dspam/lib -lspf2 -lresolv -ldspam
QMAKE_CXXFLAGS += -g -std=c++0x `pkg-config --cflags vmime`
}
mda_retrain {
QT += core
QT -= gui
TARGET = mda_retrain
CONFIG += console
SOURCES += mda_retrain.cpp \
syslog_logger.cpp
HEADERS += logger.h \
syslog_logger.h
INCLUDEPATH = /usr/local/dspam/include
LIBS += -L/usr/local/dspam/lib -ldspam
QMAKE_CXXFLAGS += -g -std=c++0x
}
이제 qmake로 Makefile을 생성할 때 어떤 바이너리를 만들건지 지정해야 한다. 먼저 mda를 만드는 방법을 살펴보자.
$ qmake mda.pro CONFIG+=mda
$ make
mda_retrain 바이너리를 만들려면 CONFIG+= 뒷 부분만 mda_retrain으로 변경해주면 된다.
한번의 make로 만드는 방법도 있는데, 이건 소스코드를 서브 디렉토리로 분할하는 방식을 사용한다. 자세한 내용은 레퍼런스 사이트를 참조한다.

comments
comments rss (+댓글 쓰러가기)