Skip to main content

makemake

makemake is a simple Makefile generator for C projects.

Example

Example input file Makefile.in:

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 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

pip install makemake

Command Line

makemake 'Makefile.in'

API

import makemake

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

Metadata

Release files for makemake 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for makemake 0.2
File Size Uploaded
makemake-0.2.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for makemake 0.2
File Interpreter ABI Platform
makemake-0.2-py3-none-any.whl Python 3 none any Details

Total release size: 31.8 kB

Release files / makemake-0.2.tar.gz

Download URL makemake-0.2.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0467a81bce54567f3c63cece857e60db8902ca538ff3514a7a8bfb59181bdd94
BLAKE2b-256 checksum
How to use checksums
95c3725ed7d7ebe021d728c4e4474c65fa611b4d5a3f905fa759e99d0d7798fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / makemake-0.2-py3-none-any.whl

Download URL makemake-0.2-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13faf56622159dd2955335adaa60fd2fd7c0ec8f017e5f1e1eef6413faa90f53
BLAKE2b-256 checksum
How to use checksums
91391bf07ec03d85d824924cc71cfa38622d27d5eca4ebedf93ac47d5124a09a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page