54 lines
957 B
Makefile
54 lines
957 B
Makefile
|
|
AR ?= $(CROSS)ar
|
|
CXX ?= $(CROSS)g++
|
|
|
|
CXXFLAGS += -Wall -fPIC -I./include
|
|
LDFLAGS=
|
|
|
|
BUILD_STATIC ?= 0
|
|
BUILD_SHARED ?= 1
|
|
|
|
TARGETS =
|
|
ifneq ($(BUILD_STATIC), 0)
|
|
TARGETS += libupdfparser.a
|
|
endif
|
|
ifneq ($(BUILD_SHARED), 0)
|
|
TARGETS += libupdfparser.so
|
|
endif
|
|
|
|
ifneq ($(DEBUG),)
|
|
CXXFLAGS += -ggdb -O0
|
|
else
|
|
CXXFLAGS += -O2
|
|
endif
|
|
|
|
SRCDIR := src
|
|
INCDIR := inc
|
|
BUILDDIR := obj
|
|
TARGETDIR := bin
|
|
SRCEXT := cpp
|
|
OBJEXT := o
|
|
|
|
SOURCES = src/uPDFParser.cpp src/uPDFTypes.cpp
|
|
OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT)))
|
|
|
|
all: obj $(TARGETS)
|
|
|
|
obj:
|
|
mkdir obj
|
|
|
|
$(BUILDDIR)/%.$(OBJEXT): $(SRCDIR)/%.$(SRCEXT)
|
|
$(CXX) $(CXXFLAGS) -c $^ -o $@
|
|
|
|
libupdfparser.a: $(OBJECTS)
|
|
$(AR) crs $@ obj/*.o
|
|
|
|
libupdfparser.so: $(OBJECTS)
|
|
$(CXX) obj/*.o $(LDFLAGS) -o $@ -shared
|
|
|
|
test: tests/test.cpp libupdfparser.a
|
|
g++ -ggdb -O0 $^ -o $@ -Iinclude libupdfparser.a
|
|
|
|
clean:
|
|
rm -rf libupdfparser.so libupdfparser.a obj test
|