chore(lander): fix Docker build
parent
6af3e6ad6d
commit
29f4edc059
|
@ -1,4 +1,15 @@
|
||||||
data/
|
*
|
||||||
build/
|
|
||||||
trie/build/
|
!src/
|
||||||
.git/
|
!include/
|
||||||
|
|
||||||
|
!lsm/src/
|
||||||
|
!lsm/include/
|
||||||
|
!lsm/Makefile
|
||||||
|
!lsm/config.mk
|
||||||
|
|
||||||
|
!thirdparty/include
|
||||||
|
!thirdparty/src
|
||||||
|
|
||||||
|
!Makefile
|
||||||
|
!config.mk
|
||||||
|
|
13
Dockerfile
13
Dockerfile
|
@ -1,11 +1,12 @@
|
||||||
FROM alpine:3.18.0 AS builder
|
FROM ubuntu:23.10 AS builder
|
||||||
|
|
||||||
ARG DI_VER=1.2.5
|
ARG DI_VER=1.2.5
|
||||||
|
|
||||||
RUN apk add --update --no-cache \
|
RUN apt update && \
|
||||||
build-base \
|
apt install -y --no-install-recommends \
|
||||||
make \
|
curl ca-certificates \
|
||||||
curl
|
build-essential \
|
||||||
|
musl musl-dev musl-tools
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ RUN curl -Lo - "https://github.com/Yelp/dumb-init/archive/refs/tags/v${DI_VER}.t
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
|
|
||||||
RUN make CFLAGS='-O3' LDFLAGS='-static -flto' && \
|
RUN make CFLAGS='-O3' LDFLAGS='-flto -static' && \
|
||||||
strip build/lander && \
|
strip build/lander && \
|
||||||
readelf -d build/lander && \
|
readelf -d build/lander && \
|
||||||
[ "$(readelf -d build/lander | grep NEEDED | wc -l)" = 0 ]
|
[ "$(readelf -d build/lander | grep NEEDED | wc -l)" = 0 ]
|
||||||
|
|
12
Makefile
12
Makefile
|
@ -35,15 +35,11 @@ all: $(BIN)
|
||||||
.PHONY: objs
|
.PHONY: objs
|
||||||
objs: $(OBJS)
|
objs: $(OBJS)
|
||||||
|
|
||||||
.PHONY: libtrie
|
|
||||||
libtrie:
|
|
||||||
$(MAKE) -C trie
|
|
||||||
|
|
||||||
.PHONY: liblsm
|
.PHONY: liblsm
|
||||||
liblsm:
|
liblsm:
|
||||||
$(MAKE) -C lsm
|
$(MAKE) -C lsm
|
||||||
|
|
||||||
$(BIN): libtrie liblsm $(OBJS)
|
$(BIN): liblsm $(OBJS)
|
||||||
$(CC) -o $@ $(OBJS) $(_LDFLAGS)
|
$(CC) -o $@ $(OBJS) $(_LDFLAGS)
|
||||||
|
|
||||||
$(BUILD_DIR)/$(SRC_DIR)/%.c.o: $(SRC_DIR)/%.c
|
$(BUILD_DIR)/$(SRC_DIR)/%.c.o: $(SRC_DIR)/%.c
|
||||||
|
@ -126,12 +122,14 @@ check:
|
||||||
--enable=warning,style \
|
--enable=warning,style \
|
||||||
-ithirdparty/* \
|
-ithirdparty/* \
|
||||||
-itrie/* \
|
-itrie/* \
|
||||||
--quiet
|
--inline-suppr \
|
||||||
|
--check-level=exhaustive \
|
||||||
|
--quiet \
|
||||||
|
-j$(shell nproc)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_DIR)
|
rm -rf $(BUILD_DIR)
|
||||||
$(MAKE) -C trie clean
|
|
||||||
$(MAKE) -C lsm clean
|
$(MAKE) -C lsm clean
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ TEST_DIR = test
|
||||||
THIRDPARTY_DIR = thirdparty
|
THIRDPARTY_DIR = thirdparty
|
||||||
|
|
||||||
INC_DIRS = include $(THIRDPARTY_DIR)/include trie/include lsm/include
|
INC_DIRS = include $(THIRDPARTY_DIR)/include trie/include lsm/include
|
||||||
LIBS = trie m lsm
|
LIBS = m lsm
|
||||||
LIB_DIRS = ./trie/build ./lsm/build
|
LIB_DIRS = ./lsm/build
|
||||||
|
|
||||||
# -MMD: generate a .d file for every source file. This file can be imported by
|
# -MMD: generate a .d file for every source file. This file can be imported by
|
||||||
# make and makes make aware that a header file has been changed, ensuring an
|
# make and makes make aware that a header file has been changed, ensuring an
|
||||||
|
|
Loading…
Reference in New Issue