Below is a table that describes various repositories and how they do or don't work in this extension. The table is very wide, so make sure to scroll right and left to view the whole table.
Repository | GitHub URL | Prerequisites (commands to run in terminal before using Makefile Tools) | Extension settings | Notes | Works? (Y/N) |
---|---|---|---|---|---|
8cc | https://github.com/rui314/8cc.git | Yes | |||
Apache Thrift | https://github.com/apache/thrift.git | ./bootstrap.sh && ./configure | always-make is long (triggers reconfigure) | Yes | |
ARMmbedTLS | https://github.com/remonbonbon/makefile-example.git | Yes | |||
async-profiler | https://github.com/jvm-profiling-tools/async-profiler.git | Yes | |||
Bitcoin core integration/staging tree | https://github.com/bitcoin/bitcoin.git | always-make is long (triggers reconfigure) | Yes | ||
BusyBox | https://github.com/mirror/busybox.git | microsoft#92 | Yes | ||
CircuitPython | https://github.com/adafruit/circuitpython | Root folder board configuration "makefile.configurations": [ { "name": "mpy-cross", "makeArgs": [ "-C mpy-cross", ] }, { "name": "circuitplayground_express", "makeArgs": [ "-C ports/atmel-samd", "BOARD=circuitplayground_express" ] }, { "name": "feather_m0_basic", "makeArgs": [ "-C ports/atmel-samd", "BOARD=feather_m0_basic" ] } ] } Subfolder ports board configuration "makefile.configurations": [ { "name": "circuitplayground_express", "makeArgs": ["BOARD=circuitplayground_express"] } ] |
Build guide: https://learn.adafruit.com/building-circuitpython/build-circuitpython Configurations shared for building from the root or opening a ports subdirectory |
Yes | |
clib | https://github.com/clibs/clib | Yes | |||
c-lightning | https://github.com/ElementsProject/lightning.git | ./configure | always-make is long (triggers reconfigure) | Yes | |
Cmake | https://github.com/Kitware/CMake.git | ./bootstrap | doesn't detect launch targets because the linker commands are too cryptic, with or without V=1 | Yes | |
CPython | https://github.com/python/cpython.git | ./configure | Yes | ||
ctypes.sh | https://github.com/taviso/ctypes.sh.git | ./autogen.sh && ./configure | Yes | ||
CURL | https://github.com/curl/curl.git | autoreconf -fiv && ./configure | configure takes very long (even with always-make or buildLog workarounds) microsoft#93 |
Yes | |
dpdk | https://github.com/DPDK/dpdk.git | No. Doesn't work because make calls into meson, ninja which don't provide useful output to parse | |||
dtwmcmd | https://github.com/cdesktopenv/dtwmcmd.git | /.configure | Yes | ||
duktape | https://github.com/svaarala/duktape.git | Yes | |||
Embedded Makefile Flow | https://github.com/davepfeiffer/embedded-makefile-flow.git | Yes | |||
ffmpeg | https://github.com/FFmpeg/FFmpeg.git | ./configure | |||
FIDO | https://github.com/FidoProject/Fido.git | minor issue (launch target finds an object file, not binary, for dryrun): microsoft#94 |
Yes | ||
FreeBSD | https://github.com/freebsd/freebsd.git | microsoft#95 | No. BSD make syntax not yet supported | ||
gcc | https://github.com/gcc-mirror/gcc.git | ./configure, set target to "all" specifically for more complete results | Yes | ||
Git | https://github.com/git/git.git | ./configure | Yes | ||
Google AFL | https://github.com/google/AFL.git | Yes | |||
Google Protocol Buffers | https://github.com/protocolbuffers/protobuf.git | ./autogen.sh && ./configure | Yes | ||
Greenplum Database (GPDB) | https://github.com/greenplum-db/gpdb.git | ./configure --without-readline --without-zstd | always-make is long (triggers reconfigure) | Yes | |
imgui | https://github.com/ocornut/imgui.git | Create one wrapping makefile in root: all: $(MAKE) -C ./examples/example_sdl_metal/ $(MAKE) -C ./examples/example_glfw_metal/ $(MAKE) -C ./examples/example_glfw_opengl2/ $(MAKE) -C ./examples/example_null/ $(MAKE) -C ./examples/example_glfw_opengl3/ $(MAKE) -C ./examples/example_emscripten_opengl3/ $(MAKE) -C ./examples/example_sdl_opengl2/ $(MAKE) -C ./examples/example_glut_opengl2/ $(MAKE) -C ./examples/example_sdl_opengl3/ Change ` back tick with shell command in many of these leaf makefiles. Example: # CXXFLAGS += `sdl2-config --cflags` CXXFLAGS += $(shell sdl2-config --cflags) |
Yes | ||
Jemalloc | https://github.com/jemalloc/jemalloc.git | ./autogen.sh && ./configure | microsoft#96 | Yes | |
Lbrycrd | https://github.com/lbryio/lbrycrd.git | ./autogen.sh && ./configure --with-incompatible-bdb | The build needs V=1 to produce useful output for the extension. Always-make is slow (triggers reconfigure). |
Yes | |
libass | https://github.com/libass/libass.git | ./autogen.sh && ./configure | microsoft#96 | Yes | |
libav | https://github.com/libav/libav.git | ./configure | microsoft#97 | Yes | |
libsvm | https://github.com/cjlin1/libsvm.git | Yes | |||
libtommath | https://github.com/libtom/libtommath.git | Yes | |||
libtorrent | https://github.com/rakshasa/libtorrent.git | ./autogen.sh && ./configure | Yes | ||
linux kernel | https://github.com/torvalds/linux | make distclean defconfig clean | Always-make may trigger reconfigure for some linux kernel setups. When make is invoked by the exension (during configure or build) it may wait for user input indefiniely: watch for timeout bottom right popup. |
Yes | |
lk | https://github.com/littlekernel/lk.git | makefile.configurations.makeArgs: PROJECT=armemu-test | build.log has no commands, it's too cryptic even if V=1. dryrun doesn't have this problem. dryrun has very long lines that makes parsing slow. Disable MAKECONFIGHEADER in make/macros.mk to fix. |
Yes | |
lz4 | https://github.com/lz4/lz4.git | Yes | |||
make | https://github.com/mirror/make.git | ./bootstrap && ./configure | always-make is long (triggers reconfigure) | Yes | |
Mesa 3d | https://gitlab.freedesktop.org/mesa/mesa.git | NOCONFIGURE=1 ./autogen.sh && ./configure --enable-llvm | always-make is long (triggers reconfigure) | Yes | |
micropython | https://github.com/micropython/micropython.git | Create wrapper makefile in the root folder: all: $(MAKE) -C ./mpy-cross $(MAKE) submodules deplibs -C ./ports/unix $(MAKE) -C ./ports/unix $(MAKE) submodules -C ./ports/stm32 $(MAKE) -C ./ports/stm32 Needs a real build before the dryrun invoked by the configure (various resources are needed even by the dryrun) |
Yes | ||
Mono | https://github.com/mono/mono.git | ./autogen.sh && ./configure | Can't use the build log because we don't support yet dolt (see split-fsharp.c). Dryrun produces useful output though. microsoft#99 Always-make takes long (triggers reconfigure). |
Yes | |
Nano | https://github.com/madnight/nano.git | ./autogen.sh && ./configure | The build log is cryptic even with V=1 and the extension can't parse it. The dryrun log is fine though. | Yes | |
NetBSD | https://www.netbsd.org/ | microsoft#95 | No. BSD make syntax not yet supported | ||
Node | https://github.com/nodejs/node.git | ./configure && /usr/bin/python3.7 tools/gyp_node.py -f make | makefile.configurations.makeArgs: "BUILDTYPE=Debug -C out " | Yes | |
OpenBSD | https://www.openbsd.org/ | microsoft#95 | No. BSD make syntax not yet supported | ||
openh264 | https://github.com/cisco/openh264.git | for build log, V=1 is more cryptic than without | Yes | ||
PCapPlusPlus | https://github.com/seladb/PcapPlusPlus.git | Various OS specific configure scripts in the root | The build output is very cryptic even with v=1 | Yes | |
PHP | https://github.com/php/php-src.git | ./buildconf && ./configure | Yes | ||
PostgreSQL | https://github.com/postgres/postgres.git | ./configure | Headers squiggles without a real build before configure. One file compiled many times differently (src/common/ip.c) during the all or default makefile target. |
Yes | |
qemu | https://github.com/qemu/qemu.git | ./configure | Yes | ||
Recommender | https://github.com/GHamrouni/Recommender.git | Yes | |||
Redis | https://github.com/redis/redis.git | Yes | |||
Sample Makefile for C++ | https://github.com/remonbonbon/makefile-example.git | Yes | |||
scummvm | https://github.com/scummvm/scummvm.git | ./configure --disable-all-engines --enable-engine=director --enable-asan | the build log has no compilation/linker commands (with or without V=1) dryrun works fine | Yes | |
semver.c | https://github.com/h2non/semver.c.git | Yes | |||
SerenityOS | https://github.com/SerenityOS/serenity.git | Makefile not in root: Define makefile.configurations.makefilePath to "./Base/home/anon/Source/little/Makefile" and define makefile.configurations.makeArgs to ["-C ./Base/home/anon/Source/little"] |
Yes | ||
sled | https://github.com/shinyblink/sled.git | Yes | |||
Strace | https://github.com/strace/strace.git | ./bootstrap && ./configure | build log cryptic even with V=1 | Yes | |
swig | https://github.com/swig/swig.git | autogen and configure | Always-make causes infinite loop microsoft#98 |
Yes | |
Tinyvm | https://github.com/jakogut/tinyvm.git | Yes | |||
TscanCode | https://github.com/Tencent/TscanCode.git | Makefile not in root, set makefile.configurations.makefilePath to "./trunk/Makefile" and makefile.configurations.makeArgs" to ["-C ./trunk"] |
Yes | ||
Tundra | https://github.com/deplinenoise/tundra.git | Yes | |||
ucx | https://github.com/openucx/ucx.gitk | ./auogen.sh && ./configure --disable-numa | always-make very long (triggers reconfigure) | Yes | |
UPX | https://github.com/upx/upx.git | Yes | |||
vim | https://github.com/vim/vim.git | Yes | |||
VLC | https://github.com/videolan/vlc.git | ./bootstrap && ./configure | always-make long (triggers reconfigure). the build log is offering limited informaion, needs dolt support. Dryrun output is fine. microsoft#99 |
Yes | |
vlfeat | https://github.com/vlfeat/vlfeat.git | Yes | |||
Wine | https://github.com/wine-mirror/wine.git | ./configure --without-x --without-freetype | Yes | ||
wiredtiger | https://github.com/wiredtiger/wiredtiger.git | ./autogen.sh && ./configure | always-make very long (triggers reconfigure) | Yes | |
ZFS | https://github.com/openzfs/zfs.git | ./autogen.sh && ./configure | The build ouput is too cryptic (no commands) even with V=1 Bogus object launch target identified: microsoft#94 |
Yes | |
zinit | https://github.com/zdharma/zinit.git | zmodules/configure | makefile.configurations.makefilePath: "zmodules/makefile" makefile.configurations.makeArgs: ["V=1", "-C zmodules"] |
The output of the build is useless unless V=1 (dryrun output is fine without) | Yes |