File: Makefile

package info (click to toggle)
s390-tools 2.40.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,288 kB
  • sloc: ansic: 187,079; sh: 12,157; cpp: 5,049; makefile: 2,812; perl: 2,541; asm: 1,097; python: 697; xml: 29
file content (79 lines) | stat: -rw-r--r-- 2,089 bytes parent folder | download | duplicates (2)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Common definitions
include ../common.mak

.DEFAULT_GOAL := all

LIB := libpv.a

GLIB2_CFLAGS := $(shell $(PKG_CONFIG) --silence-errors --cflags glib-2.0)
GLIB2_LIBS := $(shell $(PKG_CONFIG) --silence-errors --libs glib-2.0)
LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --silence-errors --cflags libcrypto)
LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --silence-errors --libs libcrypto)
LDLIBS += $(GLIB2_LIBS) $(LIBCRYPTO_LIBS)
WARNINGS := -Wall -Wextra -Wshadow \
	    -Wcast-align -Wwrite-strings -Wmissing-prototypes \
	    -Wmissing-declarations -Wredundant-decls -Wnested-externs \
	    -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes \
	    -Wpointer-arith -Wno-error=inline \
	    -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable \
	    $(NULL)

ALL_CFLAGS += -DOPENSSL_API_COMPAT=0x10101000L \
	      $(GLIB2_CFLAGS) \
	      $(LIBCRYPTO_CFLAGS) \
	      $(WARNINGS) \
	      $(NULL)

BUILD_TARGETS := skip-$(LIB)
ifneq (${HAVE_OPENSSL},0)
ifneq (${HAVE_GLIB2},0)
BUILD_TARGETS := $(LIB)
endif
endif

sources := $(wildcard *.c)
objects := $(patsubst %.c,%.o,$(sources))

all: $(BUILD_TARGETS)

$(LIB): $(objects)
$(LIB): ALL_CFLAGS += -fPIC

$(objects): .check-dep-$(LIB)

install: all

clean:
	rm -f -- $(objects)
	rm -f -- $(LIB)
	rm -f -- .check-dep-$(LIB) .detect-openssl.dep.c

skip-$(LIB):
		echo "  SKIP    $(LIB) due to unresolved dependencies"

.PHONY: all install clean skip-$(LIB) install-$(LIB)


.detect-openssl.dep.c:
	echo "#include <openssl/evp.h>" > $@
	echo "#if OPENSSL_VERSION_NUMBER < 0x10101000L" >> $@
	echo "  #error openssl version 1.1.1 is required" >> $@
	echo "#endif" >> $@
	echo "static void __attribute__((unused)) test(void) {" >> $@
	echo "    EVP_MD_CTX *ctx = EVP_MD_CTX_new();" >> $@
	echo "    EVP_MD_CTX_free(ctx);" >> $@
	echo "}" >> $@

.check-dep-$(LIB): .detect-openssl.dep.c
	$(call check_dep, \
		"$(LIB)", \
		"glib.h", \
		"glib2-devel / libglib2.0-dev", \
		"HAVE_GLIB2=0")
	$(call check_dep, \
		"$(LIB)", \
		$^, \
		"openssl-devel / libssl-dev version >= 1.1.1", \
		"HAVE_OPENSSL=0", \
		"-I.")
	touch $@