]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Makefile.example: simplify and make it configurable
authorViktor Szakats <commit@vsz.me>
Mon, 15 Sep 2025 13:01:54 +0000 (15:01 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 16 Sep 2025 09:25:55 +0000 (11:25 +0200)
- build in a single step.

- allow overriding all variables:
  source, target, compiler, libpaths, libs, flags.

Example:
```shell
LIBS= LDFLAGS= SRC=altsvc.c make -f Makefile.example
```

Closes #18554

docs/examples/Makefile.example

index 9738e94bb82d9d733b467d7e2af24b588442c32e..f2994e73e1e4eeb7933fe557c4333e0ae404a4f5 100644 (file)
 #
 ###########################################################################
 
-# What to call the final executable
-TARGET = example
+SRC ?= ftpget.c
 
-# Which object files that the executable consists of
-OBJS = ftpget.o
+# What to call the final executable
+TARGET ?= example
 
 # What compiler to use
-CC = gcc
+CC ?= gcc
 
-# Compiler flags, -g for debug, -c to make an object file
-CFLAGS = -c -g
+# Compiler flags, -g for debug
+CFLAGS ?= -g
 
-# This should point to a directory that holds libcurl, if it is not
-# in the system's standard lib dir
-# We also set a -L to include the directory where we have the OpenSSL
-# libraries
-LDFLAGS = -L/home/dast/lib -L/usr/local/ssl/lib
+# This should point to a directory that holds libcurl, if it is not in the
+# system's standard lib dir
+# We also set a -L to include the directory where we have the OpenSSL libraries
+LDFLAGS ?= -L/home/dast/lib -L/usr/local/ssl/lib
 
-# We need -lcurl for the curl stuff
 # We need -lsocket and -lnsl when on Solaris
-# We need -lssl and -lcrypto when using libcurl with SSL support
+# We need -lssl and -lcrypto when using libcurl with TLS support
 # We need -lpthread for the pthread example
-LIBS = -lcurl -lsocket -lnsl -lssl -lcrypto
+LIBS ?= -lsocket -lnsl -lssl -lcrypto
+# We need -lcurl for the curl stuff
+LIBS := -lcurl $(LIBS)
 
 # Link the target with all objects and libraries
-$(TARGET) : $(OBJS)
-       $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) $(LIBS)
-
-# Compile the source files into object files
-ftpget.o : ftpget.c
-       $(CC) $(CFLAGS) $<
+$(TARGET) : $(SRC)
+       $(CC) -o $(TARGET) $(CFLAGS) $(LDFLAGS) $(LIBS) $<