Nein. Wenn Du diese ausführliche Form nehmen willst, dann
laß einfach das »make« weg. Der Rest ist der Aufruf des
Compilers (einschließlich Linker), setzt übrigens voraus, daß
der irgendwo entlang des Suchpfades (%PATH%) gefunden werden
kann.
Für richtige Projekte wirst Du da übrigens noch ein -O einbauen
wollen, damit der Compiler auch optimiert.
Die Alternative ist halt, daß man die Kommandozeile stattdessen
in einem Makefile hinterlegt und dann nur noch »make« sagt (oder
»make all«). Auch kein .bat, da die Steuerung durch das
Makefile erfolgt mit dem vorrangigen Zweck, die auszuführenden
Kommandos zu vereinfachen -- Batch-Files verfolgen denselben
Zweck, aber auf anderem Wege. Ein Batch führt immer alles aus,
was da drin steht, während make nur die Kommandos ausführt, die
notwendig sind, um das Ziel zu erreichen. make arbeitet dabei
mit einem Abhängigkeitsgraphen auf der Basis der Zeitstempel
der durch die einzelnen Schritte generierten Dateien. In
Deinem Falle hat dieser Graph nur zwei Knoten (die Dateien
test1.c und test1.elf) und eine Verbindung (den Aufruf von
msp430-gcc). Dennoch gibt es schon einen Unterschied zwischen
einem Batch und einem make: wenn Du den Batch aufrufst, wird
er jedesmal ausgeführt. Wenn Du make aufrufst, wird das
Kommando beim ersten Mal ausgeführt, beim erneuten Aufruf
nicht mehr. make stellt dann fest, daß test1.elf (das Ziel)
bereits jünger als test1.c (die Quelle) ist und weiß daher,
daß es nichts mehr zu tun gibt.
Ich hoffe, daß ich mich einigermaßen verständlich ausdrücken
konnte... Ein typisches Makefile dafür würde ungefähr so
aussehen:
CC=msp430-gcc
CFLAGS=-mmcu=msp430x1121
# oder:
#CFLAGS=-mmcu=msp430x1121 -O
all: test1.elf
test1.elf: test1.c
<tab>$(CC) $(CFLAGS) -o test1.elf test1.c
(Da, wo ich <tab> geschrieben habe, muß ein Tabulator stehen,
keine Leerzeichen.)