summaryrefslogtreecommitdiff
path: root/Makefile
blob: bdec787e40ad3a1f4bda191b7cb688b3c3a0fd4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

LIBS3_VER_MAJOR := 0
LIBS3_VER_MINOR := 2

ifndef CURL_LIBS
    CURL_LIBS := $(shell curl-config --libs)
endif

ifndef CURL_CFLAGS
    CURL_CFLAGS := $(shell curl-config --cflags)
endif

ifndef LIBXML2_LIBS
    LIBXML2_LIBS := $(shell xml2-config --libs)
endif

ifndef LIBXML2_CFLAGS
    LIBXML2_CFLAGS := $(shell xml2-config --cflags)
endif

CFLAGS += -Wall -Werror -std=c99 -Iinc $(CURL_CFLAGS) $(LIBXML2_CFLAGS) \
          -DLIBS3_VER_MAJOR=$(LIBS3_VER_MAJOR) \
          -DLIBS3_VER_MINOR=$(LIBS3_VER_MINOR)

all: libs3 s3

libs3: lib/libs3.a

lib/libs3.a: src/acl.o src/bucket.o src/error_parser.o src/general.o \
             src/object.o src/request.o src/request_context.o \
             src/response_headers_handler.o src/service.o src/simplexml.o \
             src/util.o
	$(AR) cr $@ $^

s3: bin/s3

bin/s3: src/s3.o lib/libs3.a
	$(CC) -o $@ $^ $(CURL_LIBS) $(LIBXML2_LIBS) -lpthread -lssl

test: bin/testsimplexml

bin/testsimplexml: src/testsimplexml.o lib/libs3.a
	$(CC) -o $@ $^ $(LIBXML2_LIBS)

.PHONY: clean
clean:
	rm -f src/*.o lib/libs3.a bin/s3