-
Notifications
You must be signed in to change notification settings - Fork 2.2k
make: allow skipping the vendor and source packaging #9807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make: allow skipping the vendor and source packaging #9807
Conversation
Important Review skippedAuto reviews are limited to specific labels. 🏷️ Labels to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
a5ea01e
to
d2c99b4
Compare
@guggero: review reminder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My counter suggestion, purely in the Makefile
:
#? cross-release-install: Build lnd and lncli release binaries for all supported platforms to /tmp (useful for checking cross compilation or priming release build cache)
cross-release-install:
@$(call print, "Cross compiling release lnd and lncli.")
for sys in $(BUILD_SYSTEM); do \
echo "Building lnd and lncli for $$sys"; \
export CGO_ENABLED=0 GOOS=$$(echo $$sys | cut -d- -f1) GOARCH=$$(echo $$sys | cut -d- -f2); \
if [ "$$GOARCH" = "armv6" ]; then \
export GOARCH=arm; GOARM=6; \
elif [ "$$GOARCH" = "armv7" ]; then \
export GOARCH=arm; GOARM=7; \
fi; \
$(GOBUILD) -trimpath -ldflags="$(RELEASE_LDFLAGS)" -tags="$(RELEASE_TAGS)" -o /tmp/lnd-$$sys $(PKG)/cmd/lnd; \
$(GOBUILD) -trimpath -ldflags="$(RELEASE_LDFLAGS)" -tags="$(RELEASE_TAGS)" -o /tmp/lncli-$$sys $(PKG)/cmd/lncli; \
echo; \
done
Feel free to use without attribution.
239d96c
to
ca252f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
BTW, this can also be used to only build a single target (or a list of targets) with:
make cross-release-install sys='darwin-amd64 linux-armv7'
Different platforms can now be cross-compiled wihtout packing all the source and vendor packages.
ca252f9
to
d21e5e4
Compare
d21e5e4
to
c65cf7f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🎉
Introduce make command to cross-compile all or a single target architecture without packaging all the source and vendor software.