util-src/GNUmakefile
author Kim Alvefur <zash@zash.se>
Wed, 27 Mar 2024 19:33:11 +0100
changeset 13471 c2a476f4712a
parent 12697 7c5afbdcbc77
permissions -rw-r--r--
util.startup: Fix exiting on pidfile trouble prosody.shutdown() relies on prosody.main_thread, which has not been set yet at this point. Doing a clean shutdown might actually be harmful in case it tears down things set up by the conflicting Prosody, such as the very pidfile we were looking at. Thanks again SigmaTel71 for noticing
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)