makemake


Namemakemake JSON
Version 0.2 PyPI version JSON
download
home_pagehttps://github.com/andreas-schwenk/makemake
SummaryA simple makefile generator for C projects
upload_time2023-03-19 10:34:05
maintainer
docs_urlNone
authorAndreas Schwenk
requires_python
licenseGPLv3
keywords make makefile c build
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # makemake

`makemake` is a simple Makefile generator for C projects.

## Example

Example input file `Makefile.in`:

```makefile
PROG=prog      # the program name
DIR=src/       # the source code directory
STD=c99        # the C standard
BUILD=build/   # the output directory
```

Assume we have the following project files:

```
src/config.h
src/lex.h
src/lex.c
src/main.c
```

Then the output `Makefile` is as follows:

```makefile
# Makefile generated by makemake - by Andreas Schwenk
PROG=prog
CC=gcc -std=c99
BUILD_DIR=build/
INC=
LIB=
CFLAGS=$(FLAGS)
HEADERS=src/config.h src/lex.h
OBJS=$(BUILD_DIR)lex.o $(BUILD_DIR)main.o

$(shell mkdir -p $(BUILD_DIR))

all: $(PROG)
clean:
	rm -rf $(BUILD_DIR)

$(PROG): $(OBJS)
	$(CC) $(OBJS) $(INC) $(CFLAGS) $(LIB) -o $(BUILD_DIR)$(PROG)
$(BUILD_DIR)lex.o: src/lex.c $(HEADERS)
	$(CC) src/lex.c $(INC) $(CFLAGS) -c -o $(BUILD_DIR)lex.o
$(BUILD_DIR)main.o: src/main.c $(HEADERS)
	$(CC) src/main.c $(INC) $(CFLAGS) -c -o $(BUILD_DIR)main.o
```

## Usage

### Installation

```bash
pip install makemake
```

### Command Line

```bash
makemake 'Makefile.in'
```

### API

```python
import makemake

# creates output 'Makefile' using meta data specified
# in 'Makefile.in'
makemake.makemake('Makefile.in', 'Makefile')
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/andreas-schwenk/makemake",
    "name": "makemake",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "make makefile C build",
    "author": "Andreas Schwenk",
    "author_email": "contact@compiler-construction.com",
    "download_url": "https://files.pythonhosted.org/packages/95/c3/725ed7d7ebe021d728c4e4474c65fa611b4d5a3f905fa759e99d0d7798fd/makemake-0.2.tar.gz",
    "platform": null,
    "description": "# makemake\n\n`makemake` is a simple Makefile generator for C projects.\n\n## Example\n\nExample input file `Makefile.in`:\n\n```makefile\nPROG=prog      # the program name\nDIR=src/       # the source code directory\nSTD=c99        # the C standard\nBUILD=build/   # the output directory\n```\n\nAssume we have the following project files:\n\n```\nsrc/config.h\nsrc/lex.h\nsrc/lex.c\nsrc/main.c\n```\n\nThen the output `Makefile` is as follows:\n\n```makefile\n# Makefile generated by makemake - by Andreas Schwenk\nPROG=prog\nCC=gcc -std=c99\nBUILD_DIR=build/\nINC=\nLIB=\nCFLAGS=$(FLAGS)\nHEADERS=src/config.h src/lex.h\nOBJS=$(BUILD_DIR)lex.o $(BUILD_DIR)main.o\n\n$(shell mkdir -p $(BUILD_DIR))\n\nall: $(PROG)\nclean:\n\trm -rf $(BUILD_DIR)\n\n$(PROG): $(OBJS)\n\t$(CC) $(OBJS) $(INC) $(CFLAGS) $(LIB) -o $(BUILD_DIR)$(PROG)\n$(BUILD_DIR)lex.o: src/lex.c $(HEADERS)\n\t$(CC) src/lex.c $(INC) $(CFLAGS) -c -o $(BUILD_DIR)lex.o\n$(BUILD_DIR)main.o: src/main.c $(HEADERS)\n\t$(CC) src/main.c $(INC) $(CFLAGS) -c -o $(BUILD_DIR)main.o\n```\n\n## Usage\n\n### Installation\n\n```bash\npip install makemake\n```\n\n### Command Line\n\n```bash\nmakemake 'Makefile.in'\n```\n\n### API\n\n```python\nimport makemake\n\n# creates output 'Makefile' using meta data specified\n# in 'Makefile.in'\nmakemake.makemake('Makefile.in', 'Makefile')\n```\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A simple makefile generator for C projects",
    "version": "0.2",
    "split_keywords": [
        "make",
        "makefile",
        "c",
        "build"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "91391bf07ec03d85d824924cc71cfa38622d27d5eca4ebedf93ac47d5124a09a",
                "md5": "f2a858141efaed6c2d49c54cc7c2cd99",
                "sha256": "13faf56622159dd2955335adaa60fd2fd7c0ec8f017e5f1e1eef6413faa90f53"
            },
            "downloads": -1,
            "filename": "makemake-0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f2a858141efaed6c2d49c54cc7c2cd99",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 16156,
            "upload_time": "2023-03-19T10:34:02",
            "upload_time_iso_8601": "2023-03-19T10:34:02.575238Z",
            "url": "https://files.pythonhosted.org/packages/91/39/1bf07ec03d85d824924cc71cfa38622d27d5eca4ebedf93ac47d5124a09a/makemake-0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "95c3725ed7d7ebe021d728c4e4474c65fa611b4d5a3f905fa759e99d0d7798fd",
                "md5": "459b9432b407e4964fe69ac781bded86",
                "sha256": "0467a81bce54567f3c63cece857e60db8902ca538ff3514a7a8bfb59181bdd94"
            },
            "downloads": -1,
            "filename": "makemake-0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "459b9432b407e4964fe69ac781bded86",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 15621,
            "upload_time": "2023-03-19T10:34:05",
            "upload_time_iso_8601": "2023-03-19T10:34:05.961715Z",
            "url": "https://files.pythonhosted.org/packages/95/c3/725ed7d7ebe021d728c4e4474c65fa611b4d5a3f905fa759e99d0d7798fd/makemake-0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-19 10:34:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "andreas-schwenk",
    "github_project": "makemake",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "makemake"
}
        
Elapsed time: 0.86573s