From 2566aa725a6c79e8ad1e751bd31aeca07dbce098 Mon Sep 17 00:00:00 2001 From: "Sergio R. Caprile" Date: Tue, 21 Feb 2023 12:16:39 -0300 Subject: [PATCH] http-proxy-client Makefile --- examples/http-proxy-client/Makefile | 42 +++++++++++++++++++---------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/examples/http-proxy-client/Makefile b/examples/http-proxy-client/Makefile index 25d16d98..4af0e480 100644 --- a/examples/http-proxy-client/Makefile +++ b/examples/http-proxy-client/Makefile @@ -1,21 +1,35 @@ -PROG ?= example -ARGS ?= 167.235.63.238:3128 http://info.cern.ch/ -SSL = ? +PROG ?= example # Program we are building +DELETE = rm -rf # Command to remove files +OUT ?= -o $(PROG) # Compiler argument for output file +SOURCES = main.c mongoose.c # Source code files +CFLAGS = -W -Wall -Wextra -g -I. # Build options -ifeq "$(SSL)" "MBEDTLS" -CFLAGS += -DMG_ENABLE_MBEDTLS=1 -lmbedtls -lmbedcrypto -lmbedx509 +# Mongoose build options. See https://mongoose.ws/documentation/#build-options +#CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 + +// see tutorial at https://mongoose.ws/tutorials/http-proxy-client/ +ARGS ?= 167.235.63.238:3128 http://info.cern.ch/ # default call arguments + +ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe + PROG ?= example.exe # Use .exe suffix for the binary + CC = gcc # Use MinGW gcc compiler + CFLAGS += -lws2_32 # Link against Winsock library + DELETE = cmd /C del /Q /F /S # Command prompt command to delete files + OUT ?= -o $(PROG) # Build output + MAKE += WINDOWS=1 CC=$(CC) endif -ifeq "$(SSL)" "OPENSSL" -CFLAGS += -DMG_ENABLE_OPENSSL=1 -lssl -lcrypto -endif +all: $(PROG) # Default target. Build and run program + $(RUN) ./$(PROG) $(ARGS) -all: $(PROG) - $(DEBUGGER) ./$(PROG) $(ARGS) +$(PROG): $(SOURCES) # Build program from sources + $(CC) $(SOURCES) $(CFLAGS) $(CFLAGS_MONGOOSE) $(CFLAGS_EXTRA) $(OUT) +clean: # Cleanup. Delete built program and all build artifacts + $(DELETE) $(PROG) *.o *.obj *.exe *.dSYM mbedtls -$(PROG): main.c - $(CC) ../../mongoose.c -I../.. -W -Wall $(CFLAGS) $(EXTRA_CFLAGS) -o $(PROG) main.c +# see https://mongoose.ws/tutorials/tls/#how-to-build for TLS build options -clean: - rm -rf $(PROG) *.o *.dSYM *.gcov *.gcno *.gcda *.obj *.exe *.ilk *.pdb +mbedtls: # Pull and build mbedTLS library + git clone --depth 1 -b v2.28.2 https://github.com/mbed-tls/mbedtls $@ + $(MAKE) -C mbedtls/library