summaryrefslogtreecommitdiff
path: root/Makefile
blob: c76e4970e45af7d9ab2cdf9b7ad20b564716639f (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
CC ?= cc
CFLAGS=-std=c99 -W -Wall -pedantic -O2 -Iinclude -fPIC
OBJS=fhp.o hash.o error.o token.o env.o te-parser.o
SONAME=libfhp.so
LIB=libfhp.so
STATIC_LIB=libfhp.a

TEST_OBJS=test.o
TEST_APP=./fhp-test
TEST_LDFLAGS=-lfhp -L.

all: $(LIB) $(STATIC_LIB)

test: $(TEST_APP)
	LD_LIBRARY_PATH=. $(TEST_APP)

clean:
	rm -f $(LIB) $(STATIC_LIB) $(OBJS) $(TEST_APP) $(TEST_OBJS)

$(LIB): $(OBJS)
	$(CC) -o $(LIB) -shared -Wl,-soname,$(SONAME) $(OBJS)

$(STATIC_LIB): $(OBJS)
	ar r $(STATIC_LIB) $(OBJS)

$(TEST_APP): $(LIB) $(TEST_OBJS)
	$(CC) -o $(TEST_APP) $(TEST_OBJS) $(TEST_LDFLAGS)

%.o: %.c internal.h include/fhp/fhp.h
	$(CC) -c $(CFLAGS) $<