Categorygithub.com/extrame/gmake
modulepackage
0.2.0
Repository: https://github.com/extrame/gmake.git
Documentation: pkg.go.dev

# README

GMake (1.0)

A very lightweight build utility written in Go.

Install

$ go install github.com/extrame/gmake@latest

Getting Started

Basic Usage

In any project, create a file gmakefile and use the following syntax to create rules:

target {
    command
}

A more realistic example is shown below compiling a go program:

all {
    go build -o hello main.go;
}

fmt {
    go fmt main.go;
}

clean {
    rm hello;
}

Define Target like css

You can define a target like css, for example, define a target with class

clean.deploy {
...
}

Or define a target with ID

clean#deployForTest{
...
}

Dependency

You can make target depend on some target using CSS selector, like:

deploy.main (.deploy) {
...
}

This target depend on all target with deploy class,if you have two target with deploy class before this target, they will execute before this target with text order.

For example

a.deploy {
	echo 1
}
b.deploy {
	echo 2
}
c (.deploy){
	echo 3
}

gmake c will print 1,2,3 in order

Default Action

if no target is specified, Gmake will execute the latest one.

Variables

Use the following snippet for create an variable

var.deploy {
    test: git.oschina.net/mink-tech/bible
    test2: 23
}

Variable pseudo

You can use pseudo to follow the different status of variables

action@variable1:updated{
	echo 1
}

the echo will only executed when variabe1 is updated

# Functions

Lexer creates a new scanner for the input string.
Parse creates a new parser with the recommended parameters.
No description provided by the author
No description provided by the author

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Token Types.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
EOF character.

# Structs

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Type aliases

No description provided by the author
LexToken holds is a (type, value) array.