forked from Fluepke/Fluepdot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.build
31 lines (24 loc) · 1.22 KB
/
Dockerfile.build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
FROM fluepke/fluepdot-build-environment:20241229
COPY --chown=esp:esp ./ /fluepdot
# build the esp32 firmware
ENV PROJ_PATH=/fluepdot
WORKDIR /fluepdot/software/firmware/components/mcufont/mcufont
RUN make -j -C encoder mcufont
RUN make -j -C fonts
WORKDIR /fluepdot/software/firmware
RUN python3 /esp/esp-idf/tools/idf_tools.py install
RUN python3 /esp/esp-idf/tools/idf_tools.py install-python-env
RUN source /esp/esp-idf/export.sh
RUN /esp/crosstool-NG/builds/xtensa-esp-elf/bin/xtensa-esp-elf-g++ /esp/crosstool-NG/builds/xtensa-esp-elf/bin/xtensa-esp32-elf-g++
RUN /esp/crosstool-NG/builds/xtensa-esp-elf/bin/xtensa-esp-elf-gcc /esp/crosstool-NG/builds/xtensa-esp-elf/bin/xtensa-esp-elf-gcc
RUN cmake . && make all -j
# build the service utility
RUN go get -u github.com/a-urth/go-bindata/...
RUN go get github.com/fluepke/esptool
RUN cd /fluepdot/software/service_utility && /esp/go/bin/go-bindata -o binary.go ../firmware/partition_table/partition-table.bin ../firmware/bootloader/bootloader.bin ../firmware/flipdot-firmware.bin && go build
# generate documentation
WORKDIR /fluepdot/docs
RUN make -j
WORKDIR /fluepdot
ENTRYPOINT ["python", "-m", "http.server", "--directory", "/fluepdot/docs/build/html/", "8080"]
EXPOSE 8080/tcp