Skip to content

Add makefile targets to cover all steps found in the CI and INSTALL.md#87

Open
cclaudio wants to merge 5 commits intoqiskit-community:mainfrom
cclaudio:add-makefile
Open

Add makefile targets to cover all steps found in the CI and INSTALL.md#87
cclaudio wants to merge 5 commits intoqiskit-community:mainfrom
cclaudio:add-makefile

Conversation

@cclaudio
Copy link
Collaborator

@cclaudio cclaudio commented Mar 21, 2026

Fixes: #81
Depends-on: #84

The command below describes all targets implemented.

make help

Once this PR is merged we can update the CI workflows and the INSTALL.md

Known issue

make test-doc is failing. The rust doctests need to be fixed for them to pass. -------- Fixed in #88

@cclaudio cclaudio marked this pull request as draft March 21, 2026 05:16
@cclaudio
Copy link
Collaborator Author

The changes in this PR are ready for review. I converted it to draft just to prevent it from being merged as it includes the #84 patches (not squashed)

@ohtanim ohtanim mentioned this pull request Mar 23, 2026
5 tasks
@ohtanim ohtanim closed this in #88 Mar 23, 2026
@ohtanim ohtanim reopened this Mar 23, 2026
Rename it to avoid confusion. We will also have PYTHON_VERSION.

Signed-off-by: Claudio Carvalho <cclaudio@ibm.com>
No functional change. Later we will use it for shared variables and
targets.

Signed-off-by: Claudio Carvalho <cclaudio@ibm.com>
One of the best practices in Makefile is to avoid recursive $(MAKE)
calls as they can break the dependency tracking, preventing the
top-level make from seeing the full, global dependency picture.

This patch moves the QRMI_VERSION to Makefile_common.mk to ensure it is
always defined.

This also wraps the Makefile_common.mk with ifndef to prevent it from
being included multiple times.

Signed-off-by: Claudio Carvalho <cclaudio@ibm.com>
No functional change. Just making sure the filename is consistent with
tarball-vendor.yml.

Signed-off-by: Claudio Carvalho <cclaudio@ibm.com>
Add all makefile targets needed to cover the steps found in the CI and
in the INSTALL.md. With that, users can easily reproduce the same
commands we use in the CI.

The command below describes all targets available
$ make help

Fixes: qiskit-community#81

Signed-off-by: Claudio Carvalho <cclaudio@ibm.com>
@cclaudio cclaudio marked this pull request as ready for review March 23, 2026 14:22
@cclaudio
Copy link
Collaborator Author

#84 has been merged, thanks.
I rebased this PR and marked it as ready for review.

@@ -50,6 +50,7 @@ qrmi.h

# python venvs
*venv
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
*venv
*venv*

To cover both and more cases?

Copy link
Collaborator

@awennersteen awennersteen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm to me in principle.

With #90 and #32 we'll have to add a few more directories here. And #25s followup.
Is there an easy way to not have to add new directories the few places where there are dirctories mentioned?

@awennersteen
Copy link
Collaborator

If there isnt (i guess there isnt) lets remember to add updating this file in #61 in a section targetted to making new backends?

@cclaudio
Copy link
Collaborator Author

cclaudio commented Mar 26, 2026

Lgtm to me in principle.

With #90 and #32 we'll have to add a few more directories here. And #25s followup. Is there an easy way to not have to add new directories the few places where there are dirctories mentioned?

I am not sure I understand what is your concern, could you ellaborate?

Indeed. The targets build-c-examples, clean-c-examples, fmt-pypkg, lint-pypkg, test-pypkg and create-venv have hardcoded paths. However, the idea is that the Makefile would become the single source of truth (or configuration) for those paths, supposedly we won't need to repeat them in other places like INSTALL.md or README.md files.

In the future, if we need to consume those paths somewhere else other than the Makefile, we could create a configuration.json file at the root of the project and add those paths to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add makefile targets to cover all the steps found in the CI and the INSTALL.md

3 participants