From d2ec01c0728aaad09b0652d0a9091202d72f373d Mon Sep 17 00:00:00 2001 From: Toni Uhlig Date: Fri, 26 Aug 2022 12:12:33 +0200 Subject: [PATCH] Makefile generates libsslh.a useable for other projects e.g. fuzzer. Signed-off-by: Toni Uhlig --- Makefile | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index aef9fda..86b1aa7 100644 --- a/Makefile +++ b/Makefile @@ -29,13 +29,15 @@ ifneq ($(strip $(COV_TEST)),) endif CC ?= gcc +AR ?= ar CFLAGS ?=-Wall -O2 -DLIBPCRE -g $(CFLAGS_COV) $(CFLAGS_SAN) LIBS=-lm -lpcre2-8 OBJS=sslh-conf.o common.o log.o sslh-main.o probe.o tls.o argtable3.o collection.o gap.o tcp-probe.o -FORK_OBJS=$(OBJS) sslh-fork.o -SELECT_OBJS=$(OBJS) processes.o udp-listener.o sslh-select.o hash.o tcp-listener.o -EV_OBJS=$(OBJS) processes.o udp-listener.o sslh-ev.o hash.o tcp-listener.o +OBJS_A=libsslh.a +FORK_OBJS=sslh-fork.o $(OBJS_A) +SELECT_OBJS=processes.o udp-listener.o sslh-select.o hash.o tcp-listener.o $(OBJS_A) +EV_OBJS=processes.o udp-listener.o sslh-ev.o hash.o tcp-listener.o $(OBJS_A) CONDITIONAL_TARGETS= @@ -72,8 +74,11 @@ endif all: sslh $(MAN) echosrv $(CONDITIONAL_TARGETS) -.c.o: *.h version.h - $(CC) $(CFLAGS) $(CPPFLAGS) -c $< +%.o: %.c %.h version.h + $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + +$(OBJS_A): $(OBJS) + $(AR) rcs $(OBJS_A) $(OBJS) version.h: ./genver.sh >version.h @@ -82,20 +87,18 @@ sslh: sslh-fork sslh-select sslh-ev $(OBJS) $(FORK_OBJS) $(SELECT_OBJS) $(EV_OBJS): argtable3.h collection.h common.h gap.h hash.h log.h probe.h processes.h sslh-conf.h tcp-listener.h tcp-probe.h tls.h udp-listener.h version.h + sslh-conf.c sslh-conf.h: sslhconf.cfg conf2struct sslhconf.cfg sslh-fork: version.h Makefile $(FORK_OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o sslh-fork $(FORK_OBJS) $(LIBS) - #strip sslh-fork sslh-select: version.h $(SELECT_OBJS) Makefile $(CC) $(CFLAGS) $(LDFLAGS) -o sslh-select $(SELECT_OBJS) $(LIBS) - #strip sslh-select sslh-ev: version.h $(EV_OBJS) Makefile $(CC) $(CFLAGS) $(LDFLAGS) -o sslh-ev $(EV_OBJS) $(LIBS) -lev - #strip sslh-ev systemd-sslh-generator: systemd-sslh-generator.o $(CC) $(CFLAGS) $(LDFLAGS) -o systemd-sslh-generator systemd-sslh-generator.o -lconfig