SQLiteCpp/Makefile
2012-04-02 20:58:41 +02:00

71 lines
1.2 KiB
Makefile

### Options: ###
# C++ compiler
CXX = g++
# flags for C++
CXXFLAGS ?= -Wall
# [Debug,Release]
BUILD ?= Debug
### Conditionally set variables: ###
ifeq ($(BUILD),Debug)
BUILD_FLAGS = -g -rdynamic -fno-inline -O0 -DDEBUG -D_DEBUG
endif
ifeq ($(BUILD),Release)
BUILD_FLAGS = -O2
endif
ifeq ($(BUILD),Debug)
LINK_FLAGS = -g -rdynamic
endif
ifeq ($(BUILD),Release)
LINK_FLAGS =
endif
### Variables: ###
CPPDEPS = -MT $@ -MF`echo $@ | sed -e 's,\.o$$,.d,'` -MD -MP
SQLITE_CXXFLAGS = $(BUILD_FLAGS) $(CXXFLAGS)
SQLITE_EXAMPLE1_OBJECTS = \
$(BUILD)/main.o \
$(BUILD)/Database.o \
$(BUILD)/Statement.o \
### Targets: ###
all: $(BUILD) $(BUILD)/example1
clean:
rm -f $(BUILD)/*.o
rm -f $(BUILD)/*.d
rm -f $(BUILD)/example1
$(BUILD): $(BUILD)/
mkdir -p $(BUILD)
$(BUILD)/example1: $(SQLITE_EXAMPLE1_OBJECTS)
$(CXX) -o $@ $(SQLITE_EXAMPLE1_OBJECTS) $(LINK_FLAGS) -lsqlite3 -lpthread
$(BUILD)/main.o: src/example1/main.cpp
$(CXX) -c -o $@ $(SQLITE_CXXFLAGS) $(CPPDEPS) $<
$(BUILD)/Database.o: src/SQLiteC++/Database.cpp
$(CXX) -c -o $@ $(SQLITE_CXXFLAGS) $(CPPDEPS) $<
$(BUILD)/Statement.o: src/SQLiteC++/Statement.cpp
$(CXX) -c -o $@ $(SQLITE_CXXFLAGS) $(CPPDEPS) $<
.PHONY: all clean
# Dependencies tracking:
-include $(BUILD)/*.d