2017-02-19 00:52:29 -05:00
|
|
|
# kodev Makefile
|
|
|
|
|
2018-06-19 19:05:55 +02:00
|
|
|
CC?=cc
|
2017-02-19 00:52:29 -05:00
|
|
|
PREFIX?=/usr/local
|
|
|
|
OBJDIR?=obj
|
|
|
|
KODEV=kodev
|
2020-09-08 20:54:34 +02:00
|
|
|
DESTDIR?=
|
2017-02-19 00:52:29 -05:00
|
|
|
INSTALL_DIR=$(PREFIX)/bin
|
|
|
|
|
|
|
|
S_SRC= ../src/cli.c
|
|
|
|
|
|
|
|
CFLAGS+=-Wall -Werror -Wstrict-prototypes -Wmissing-prototypes
|
|
|
|
CFLAGS+=-Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual
|
|
|
|
CFLAGS+=-Wsign-compare -Iincludes -std=c99 -pedantic
|
|
|
|
CFLAGS+=-DPREFIX='"$(PREFIX)"'
|
2017-02-22 13:01:53 -08:00
|
|
|
LDFLAGS=-lcrypto
|
2017-02-19 00:52:29 -05:00
|
|
|
|
|
|
|
ifneq ("$(NOOPT)", "")
|
|
|
|
CFLAGS+=-O0
|
|
|
|
else
|
|
|
|
CFLAGS+=-O2
|
|
|
|
endif
|
|
|
|
|
2019-10-31 09:44:47 +01:00
|
|
|
ifneq ("$(MINIMAL)", "")
|
|
|
|
CFLAGS+=-DKODEV_MINIMAL
|
|
|
|
LDFLAGS=
|
|
|
|
endif
|
|
|
|
|
2017-02-19 00:52:29 -05:00
|
|
|
OSNAME=$(shell uname -s | sed -e 's/[-_].*//g' | tr A-Z a-z)
|
|
|
|
ifeq ("$(OSNAME)", "darwin")
|
2021-10-27 14:34:06 +02:00
|
|
|
CFLAGS+=$(shell pkg-config openssl --cflags)
|
2021-10-27 17:59:14 +02:00
|
|
|
LDFLAGS+=$(shell pkg-config openssl --libs)
|
2017-02-19 00:52:29 -05:00
|
|
|
else ifeq ("$(OSNAME)", "linux")
|
|
|
|
CFLAGS+=-D_GNU_SOURCE=1
|
|
|
|
endif
|
|
|
|
|
|
|
|
S_OBJS= $(S_SRC:../src/%.c=$(OBJDIR)/%.o)
|
|
|
|
|
|
|
|
$(KODEV): $(OBJDIR) $(S_OBJS)
|
|
|
|
$(CC) $(S_OBJS) $(LDFLAGS) -o $(KODEV)
|
|
|
|
|
|
|
|
$(OBJDIR):
|
|
|
|
@mkdir -p $(OBJDIR)
|
|
|
|
|
|
|
|
install: $(KODEV)
|
2020-09-08 20:54:34 +02:00
|
|
|
mkdir -p $(DESTDIR)$(INSTALL_DIR)
|
|
|
|
install -m 555 $(KODEV) $(DESTDIR)$(INSTALL_DIR)/$(KODEV)
|
2017-02-19 00:52:29 -05:00
|
|
|
|
|
|
|
uninstall:
|
2020-09-11 15:49:11 +02:00
|
|
|
rm -f $(DESTDIR)$(INSTALL_DIR)/$(KODEV)
|
2017-02-19 00:52:29 -05:00
|
|
|
|
|
|
|
$(OBJDIR)/%.o: ../src/%.c
|
|
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
|
|
|
|
clean:
|
|
|
|
find . -type f -name \*.o -exec rm {} \;
|
|
|
|
rm -rf $(KODEV) $(OBJDIR)
|
|
|
|
|
|
|
|
.PHONY: all clean
|