aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: b3fd009c094901d12ff9253f699bd61920fae43a (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
CC     ?= cc
CFLAGS ?= -O2 -g
PREFIX ?= /usr/local

__CFLAGS := -I./include/ -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wextra

all: libuconfig.a test/uconfig_test

libuconfig.a: src/uconfig.o
	ar rcs $@ $^

src/uconfig.o: src/uconfig.c include/uconfig.h
	$(CC) $(__CFLAGS) -c -fPIC $(CFLAGS) -o $@ $<

test/uconfig_test: test/uconfig_test.o libuconfig.a
	$(CC) -o $@ $^

test/uconfig_test.o: test/uconfig_test.c include/uconfig.h
	$(CC) $(__CFLAGS) -c -o $@ $<

check: all
	./test/uconfig_test

clean:
	rm -f libuconfig.a src/uconfig.o

install: libuconfig.a
	mkdir -p $(PREFIX)/lib $(PREFIX)/include
	cp libuconfig.a      $(PREFIX)/lib/
	cp include/uconfig.h $(PREFIX)/include/

.PHONY: all check clean install