util-src/GNUmakefile
author Matthew Wild <mwild1@gmail.com>
Sun, 17 Mar 2024 10:10:24 +0000
changeset 13464 a688947fab1e
parent 12697 7c5afbdcbc77
permissions -rw-r--r--
mod_bosh: Set base_type on session This fixes a traceback with mod_saslauth. Ideally we move this to util.session at some point, though.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
442
722f63c70a77 Makefile now works on windows with Microsoft's compiler
Waqas Hussain <waqas20@gmail.com>
parents: 418
diff changeset
     1
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents: 445
diff changeset
     2
include ../config.unix
418
004c278154dc Add rough Makefile for util-src/
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
7618
940603e99032 configure: Move -ggdb flag here from util-src/Make
Kim Alvefur <zash@zash.se>
parents: 7616
diff changeset
     4
CFLAGS+=-I$(LUA_INCDIR)
418
004c278154dc Add rough Makefile for util-src/
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
6880
020ededc84a6 util-src/Makefile: Use variables for install binary and target directory
Kim Alvefur <zash@zash.se>
parents: 6879
diff changeset
     6
INSTALL_DATA=install -m644
020ededc84a6 util-src/Makefile: Use variables for install binary and target directory
Kim Alvefur <zash@zash.se>
parents: 6879
diff changeset
     7
TARGET?=../util/
020ededc84a6 util-src/Makefile: Use variables for install binary and target directory
Kim Alvefur <zash@zash.se>
parents: 6879
diff changeset
     8
9564
cfc7b2f7251e util.xpcall, util.compat: Add non-hacky multi-argument xpcall() for Lua 5.1
Matthew Wild <mwild1@gmail.com>
parents: 9316
diff changeset
     9
ALL=encodings.so hashes.so net.so pposix.so signal.so table.so \
12358
3ce3633527af util.struct: Import Roberto 'struct' library v0.3
Matthew Wild <mwild1@gmail.com>
parents: 11170
diff changeset
    10
    ringbuffer.so time.so poll.so compat.so strbitop.so \
12697
7c5afbdcbc77 util.crypto: New wrapper for some operations in OpenSSL's libcrypto
Matthew Wild <mwild1@gmail.com>
parents: 12358
diff changeset
    11
    struct.so crypto.so
6879
d1fc95d22f33 util-src/Makefile: Move list of .so files in a variable
Kim Alvefur <zash@zash.se>
parents: 6613
diff changeset
    12
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    13
ifdef RANDOM
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    14
ALL+=crand.so
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    15
endif
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    16
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3964
diff changeset
    17
.PHONY: all install clean
2319
8dca45e17438 util-src/Makefile: Clean up makefile (re-commit because MattJ shouldn't commit anything at 3AM)
Brian Cully <bjc@junctionnetworks.com>
parents: 2022
diff changeset
    18
.SUFFIXES: .c .o .so
8dca45e17438 util-src/Makefile: Clean up makefile (re-commit because MattJ shouldn't commit anything at 3AM)
Brian Cully <bjc@junctionnetworks.com>
parents: 2022
diff changeset
    19
6879
d1fc95d22f33 util-src/Makefile: Move list of .so files in a variable
Kim Alvefur <zash@zash.se>
parents: 6613
diff changeset
    20
all: $(ALL)
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3964
diff changeset
    21
6879
d1fc95d22f33 util-src/Makefile: Move list of .so files in a variable
Kim Alvefur <zash@zash.se>
parents: 6613
diff changeset
    22
install: $(ALL)
8595
bd4f8a2b72c7 Rename Makefile -> GNUmakefile to reflect dependency on GNU Make
Kim Alvefur <zash@zash.se>
parents: 7618
diff changeset
    23
	$(INSTALL_DATA) $? $(TARGET)
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3964
diff changeset
    24
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3964
diff changeset
    25
clean:
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    26
	rm -f $(ALL) $(patsubst %.so,%.o,$(ALL))
4396
03b59a511671 Makefile, util-src/Makefile: Add .PHONY, reorganise util-src/Makefile
Matthew Wild <mwild1@gmail.com>
parents: 3964
diff changeset
    27
11013
74ef9f2334f3 configure: Pass compiler flag to enable ICU only when building util.encodings
Kim Alvefur <zash@zash.se>
parents: 9564
diff changeset
    28
encodings.o: CFLAGS+=$(IDNA_FLAGS)
6884
5886efd95c11 util-src/Makefile: Don't make exceptions for how to build .so for util.hashes and util.encodings
Kim Alvefur <zash@zash.se>
parents: 6883
diff changeset
    29
encodings.so: LDLIBS+=$(IDNA_LIBS)
3963
18b82491dc88 util-src/Makefile: Clean up and remove unnecessary all linking
Matthew Wild <mwild1@gmail.com>
parents: 3769
diff changeset
    30
12697
7c5afbdcbc77 util.crypto: New wrapper for some operations in OpenSSL's libcrypto
Matthew Wild <mwild1@gmail.com>
parents: 12358
diff changeset
    31
crypto.so hashes.so: LDLIBS+=$(OPENSSL_LIBS)
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3334
diff changeset
    32
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    33
crand.o: CFLAGS+=-DWITH_$(RANDOM)
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    34
crand.so: LDLIBS+=$(RANDOM_LIBS)
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 7120
diff changeset
    35
6883
8678def0e53b util-src/Makefile: Tell Make how to build .so from .o in a modern way (Let built-in rules handle .o)
Kim Alvefur <zash@zash.se>
parents: 6882
diff changeset
    36
%.so: %.o
8678def0e53b util-src/Makefile: Tell Make how to build .so from .o in a modern way (Let built-in rules handle .o)
Kim Alvefur <zash@zash.se>
parents: 6882
diff changeset
    37
	$(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)