40 lines
676 B
Makefile
40 lines
676 B
Makefile
CC = gcc
|
|
CFILES = toml.c
|
|
|
|
CFLAGS = -std=c99 -Wall -Wextra -fpic
|
|
# to compile for debug: make DEBUG=1
|
|
# to compile for no debug: make
|
|
ifdef DEBUG
|
|
CFLAGS += -O0 -g
|
|
else
|
|
CFLAGS += -O2 -DNDEBUG
|
|
endif
|
|
|
|
EXEC = toml_json toml_cat
|
|
|
|
LIB = libtoml.a
|
|
LIB_SHARED = libtoml.so
|
|
|
|
all: $(LIB) $(LIB_SHARED) $(EXEC)
|
|
|
|
|
|
libtoml.a: toml.o
|
|
ar -rcs $@ $^
|
|
|
|
libtoml.so: toml.o
|
|
$(CC) -shared -o $@ $^
|
|
|
|
toml_json: toml_json.c $(LIB)
|
|
|
|
toml_cat: toml_cat.c $(LIB)
|
|
|
|
prefix ?= /usr/local
|
|
|
|
install: all
|
|
install -d ${prefix}/include ${prefix}/lib
|
|
install toml.h ${prefix}/include
|
|
install $(LIB) ${prefix}/lib
|
|
install $(LIB_SHARED) ${prefix}/lib
|
|
|
|
clean:
|
|
rm -f *.o $(EXEC) $(LIB) $(LIB_SHARED)
|