Skip to content

Add MakeFile to ease development process  #162

Open

Description

@PradyumnaKrishna

🚀 Feature

Create a MakeFile to simplify project setup and ease the development process.
It requires #161 to complete, so pickup that or wait for it to complete before start working on this.

Resources

  1. https://makefiletutorial.com

Feel free to contact me for help.

Activity

  1. shreelakshmijoshi commented on Mar 8, 2022

    @shreelakshmijoshi

    Hi @PradyumnaKrishna! Would you assign me this issue under GSSOC?

  2. PradyumnaKrishna commented on Mar 9, 2022

    @PradyumnaKrishna
    MemberAuthor
  3. dhruti29 commented on Mar 21, 2022

    @dhruti29

    Hello, @PradyumnaKrishna I want work on this issue please assign me this issue under GSSOC...!!

  4. GouravSardana commented on Mar 21, 2022

    @GouravSardana
    Member

    @dhruti29 , Please go ahead

  5. shreelakshmijoshi commented on Mar 27, 2022

    @shreelakshmijoshi

    Hi @GouravSardana !
    I want to understand a bit more about Make files. What exact dependencies/ file names should we include in the Make file to compile them?
    Also, in the make file resource provided, it is mentioned

    Interpreted languages like Python, Ruby, and Javascript don't require an analogue to Makefiles.

    And dynamic-cli has all Python files.

  6. GouravSardana commented on Mar 27, 2022

    @GouravSardana
    Member

    @PradyumnaKrishna is leading the effort from this side. Can you please explain what we need from our side ?

  7. shreelakshmijoshi commented on Mar 27, 2022

    @shreelakshmijoshi

    oh okay, I just wanted to know what exact files should I include in the Make file to compile them?
    Since, only C/C++, Java files need compiling and Python files don't need compiling is mentioned in https://makefiletutorial.com/

  8. GouravSardana commented on Mar 27, 2022

    @GouravSardana
    Member

    I agree with the point which you mentioned but let’s hear from @PradyumnaKrishna

  9. PradyumnaKrishna commented on Mar 27, 2022

    @PradyumnaKrishna
    MemberAuthor

    Makefile does lot more than just compiling, currently this repository has lot of commands that can be aggregated at one place.

    Let me give you an example

    all: setup lint test build
    
    setup:
    	@echo SETUP
    	pip install -r requirements.txt
    
    lint:
    	@echo LINT
    	# Linting it using linters like black, pylint etc
    
    test:
    	@echo TEST
    	pytest
    
    build:
    	@echo BUILD
    	...
    
    publish:
    	@echo PUBLISH
    	...
    ...

    These all tasks and other similar tasks will get collected to one place. Currently we have to follow up the procedure to setup the development environment. After implementing Makefile, environment setup and package build will get done in one go, just have to type make.

    Note: #161 is work in progress which add poetry as dependency manager, the procedure to setup the development environment requires some changes after that.

  10. shreelakshmijoshi commented on Mar 27, 2022

    @shreelakshmijoshi

    @PradyumnaKrishna, you're right.

  11. harshsingh32 commented on May 20, 2023

    @harshsingh32

    I would like to work on this issue, please assign this issue to me under GSSoC'23.

  12. GouravSardana commented on Oct 21, 2026

    @GouravSardana
    Member

    Restart triage: P3 — useful command wrappers, not a release prerequisite. No Makefile exists. As the earlier discussion explains, its purpose would be collecting setup/test/build commands, not compiling Python source.

    Next step: stabilize those commands and the #161 packaging decision first. If still useful, add small wrappers while documenting equivalent direct commands so Windows contributors do not need Make. Keep publishing separate from ordinary setup/test targets.

    Configuration review only. Keeping the issue open.

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

Metadata

Metadata

Labels

Level2Bug fixing, adding small features.enhancementNew feature or requestgssoc22

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions