The latest version of cake3 is 0.6.5-0.

cake3

Version 0.5.1.0 revision 0 uploaded by SergeyMironov.

Package meta

Synopsis
Third cake the Makefile EDSL
Description

Cake3 is a EDSL for building Makefiles, written in Haskell. With cake3, developer can write their build logic in Haskell, obtain clean and safe Makefile and distribute it among the non-Haskell-aware users. Currenly, GNU Make is the only backend supported.

Example program

module Cakefile where

import Development.Cake3
import Cakefile_P

cs = map file ["main.c", "second.c"]

main = writeMake (file "Makefile") $ do
  selfUpdate
  d <- rule $ do
    shell [cmd|gcc -M $cs -MF @(file "depend.mk")|]
  os <- forM cs $ \c -> do
    rule $ do
      shell [cmd| gcc -c $(extvar "CFLAGS") -o @(c.="o") $c |]
  elf <- rule $ do
    shell [cmd| gcc -o @(file "main.elf") $os |]
  rule $ do
    phony "all"
    depend elf
  includeMakefile d

Basic workflow

  • Install the cake3

  • Create Cakefile.hs in the project root

  • Build the application using cake3 script provided

  • Execute the application to obtain the Makefile

See the README on the GitHub https://github.com/grwlf/cake3 for more information. Distribution contains several example projects.

Author
Sergey Mironov
Bug reports
n/a
Category
Development
Copyright
n/a
Homepage
https://github.com/grwlf/cake3
Maintainer
grrwlf@gmail.com
Package URL
n/a
Stability
n/a

Components