ninenines / erlang.mk

A build tool for Erlang that just works.
https://erlang.mk
ISC License
578 stars 241 forks source link

Allows apps dir to contain symlinks #996

Open FrancescoRestelli opened 5 months ago

FrancescoRestelli commented 5 months ago

Hi,

We would like to be able to define common apps as symlinks when the app dir is override

issue: Our project is a shared project between multiple platforms and some toolchains dont have all the builddeps needed to build all apps. so we must exclude some apps from the build process. the current local_deps only seems to exclude them from the release but still tries to build them.

to workaround this issues we separated the apps_dir into 2 dir apps/common_app

apps_full/zookeeper apps_full/common_app -> ../apps/common_app

then in the root makefile use it like this ifeq ($(TYPE),full)
APPS_DIR=$(CURDIR)/apps_full endif

in our project structure this works fine and solves the issue, when we add the -L to the "ALL_APP_DIRS find" (see pull request)

let me know what you think, thank you https://github.com/ninenines/erlang.mk/pull/997

essen commented 3 months ago

Hello, I have been scheming improvements to apps/* to avoid trying to rebuild everything every time, and I believe that the same mechanism to avoid building an app because it hasn't changed could be reused in your case to not build the app at all. It will take at least a few months before I am able to fully work on this though so your workaround will be helpful if anyone runs into this in the meantime.