CC ?= gcc AR ?= ar MBEDTLS_CFLAGS := $(shell pkg-config --cflags mbedtls 2>/dev/null) MBEDTLS_LIBS := $(shell pkg-config --libs mbedtls 2>/dev/null) -lmbedx509 -lmbedcrypto CPPFLAGS += -Iinclude $(MBEDTLS_CFLAGS) CFLAGS ?= -O2 -Wall -Wextra -Wpedantic -std=c11 -D_POSIX_C_SOURCE=200809L LIB_OBJECTS = src/device.o src/protocol.o src/request.o src/fdt.o src/sensor.o src/config.o src/tls.o src/session.o LIBRARY = libgxfp.a all: $(LIBRARY) fdt-monitor sensor-probe session-regression analyze-capture capture-to-pgm $(LIBRARY): $(LIB_OBJECTS) $(AR) rcs $@ $^ fdt-monitor: examples/fdt-monitor.o $(LIBRARY) $(CC) $(CFLAGS) -o $@ examples/fdt-monitor.o $(LIBRARY) $(MBEDTLS_LIBS) sensor-probe: examples/sensor-probe.o $(LIBRARY) $(CC) $(CFLAGS) -o $@ examples/sensor-probe.o $(LIBRARY) $(MBEDTLS_LIBS) session-regression: examples/session-regression.o $(LIBRARY) $(CC) $(CFLAGS) -o $@ examples/session-regression.o $(LIBRARY) $(MBEDTLS_LIBS) -pthread analyze-capture: tools/analyze_capture.o $(CC) $(CFLAGS) -o $@ $^ capture-to-pgm: tools/capture_to_pgm.o $(CC) $(CFLAGS) -o $@ $^ src/%.o: src/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< examples/%.o: examples/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< tools/%.o: tools/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< clean: rm -f $(LIB_OBJECTS) examples/*.o tools/*.o $(LIBRARY) fdt-monitor sensor-probe session-regression analyze-capture capture-to-pgm