premake / premake/premake-core

Is it possible to define project makefile name?

Open
#211 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement gmake
Dominant language
C
Stars
3.6k
Forks
654
Avg merge
1d 1h
Merged PRs (30d)
13

Description

Overview

A premake5.lua file containing the following:

solution "test_solution"
    location "."
project "test_project"
    location "make"

When run with premake5 gmake it creates this file structure:

- premake5.lua
- Makefile
- make
    - Makefile

and I'm wondering how I can make it look like this instead:

- premake5.lua
- Makefile
- make
    - test_project.make

I like being able to simply run premake5 gmake; make; but I also prefer it if the project's own make file name is explicit.


Details

When working with a gmake solution, if location is set at the solution scope, the resulting files will look like this (assuming two projects):

- SOLUTION_LOCATION_DIR
    - Makefile
    - PROJECT1_NAME.make
    - PROJECT2_NAME.make

Where each project's makefile has been renamed due to name ambiguity.

When defining the location at the solution scope, as well as each project scope, the files will look like:

- SOLUTION_LOCATION_DIR
    - Makefile
- PROJECT1_LOCATION_DIR
    - Makefile
- PROJECT2_LOCATION_DIR
    - Makefile

Where, since there is no name ambiguity, the make files use the default naming convention. However I'd like to have the option of nonetheless having the name of the project make files correspond to the name of their project.

Is there a way to force the basic naming behavior, despite there not being any naming ambiguity, or at least manually define the make file name?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the gmake generation invoked by premake5 gmake, focusing on how solution and project location values affect the generated Makefile and project .make names. Compare the two directory layouts described in the issue and define the expected naming behavior for an explicit project makefile name.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.