Makefile: add static and dynamic lib targets

This commit is contained in:
Jasper Orschulko 2021-06-02 02:09:55 +02:00
parent 886a29d659
commit b6ee9e637b
No known key found for this signature in database
GPG Key ID: 620A9EC34ED530D5

View File

@ -18,6 +18,8 @@ IPV6 ?= 1
ASAN_OPTIONS ?=
EXAMPLES := $(wildcard examples/*)
EXAMPLE_TARGET ?= example
PREFIX ?= /usr/local
SOVERSION = 7.2
.PHONY: ex test
ifeq "$(SSL)" "MBEDTLS"
@ -101,6 +103,19 @@ linux++: CC = g++
linux++: WARN += -Wno-shadow # Ignore "hides constructor for 'struct mg_str'"
linux++: linux
linux-libs: CFLAGS += -fPIC
linux-libs: mongoose.o
$(CC) mongoose.o $(LDFLAGS) -shared -o libmongoose.so.$(SOVERSION)
$(AR) rcs libmongoose.a mongoose.o
install: linux-libs
install -Dm644 libmongoose.a libmongoose.so.$(SOVERSION) $(DESTDIR)${PREFIX}/lib
ln -s libmongoose.so.$(SOVERSION) $(DESTDIR)${PREFIX}/lib/libmongoose.so
install -Dm644 mongoose.h $(DESTDIR)${PREFIX}/include/mongoose.h
uninstall:
rm -rf $(DESTDIR)${PREFIX}/lib/libmongoose.a $(DESTDIR)${PREFIX}/lib/libmongoose.so.$(SOVERSION) $(DESTDIR)${PREFIX}/include/mongoose.h $(DESTDIR)${PREFIX}/lib/libmongoose.so
arm: Makefile mongoose.c mongoose.h test/unit_test.c
$(ARM) arm-none-eabi-gcc mongoose.c -c -Itest -DMG_ARCH=MG_ARCH_CUSTOM $(OPTS) $(WARN) $(INCS) -DMG_MAX_HTTP_HEADERS=5 -DMG_ENABLE_LINES -DMG_ENABLE_DIRECTORY_LISTING=0 -DMG_ENABLE_SSI=1