Golang Makefile

Hier ist das Makefile, welches ich für neue Projekte in Go benutze.

BINARY := $(notdir $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST))))))
MAINFILE :=
SOURCEDIR := .
SOURCES := $(shell find $(SOURCEDIR) -name '*.go')

all: build run

build: $(BINARY)

$(BINARY): $(SOURCES)
	go build -o $(BINARY)

run: build
	./$(BINARY)

clean:
	$(RM) $(RMFLAGS) $(BINARY)

edit:
	$(EDITOR) $(MAINFILE) *.go

Das Makefile rekompiliert den Code, wenn sich eine *.go Datei ändert. Editieren muss man eventuell die Variablen MAINFILE und BINARY.
Die Variable BINARY wird für den Namen der kompilierten Datei benutzt. Default ist der Ordnername, aber er kann durch einen beliebigen String im Makefile ersetzt werden.
Durch MAINFILE wird dem Editor gesagt, welche Datei als erstes zum editieren geöffnet werden soll.

Ein fehlendes Feature ist das Überwachen der Quelldateien und das automatische Rekompilieren und Neustarten des Prozesses.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

+ eightundthirty = threeundforty