summaryrefslogtreecommitdiff
path: root/Makefile
blob: 49698ee5b799f6acf654ae81ccfbb7771b5e96fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
NASMFLAGS = -f elf
CINCLUDE=
CWARNS=-Wall -Wpointer-arith -Wnested-externs
CFLAGS=$(CINCLUDE) $(CWARNS) -O2
LDFLAGS=

SRCDIR=src
BINDIR=build

all: libmalice.o demo-printing demo-input-char demo-input-int demo-exitcode demo-exitclean

libmalice.o: libmalice.asm
	nasm $(NASMFLAGS) -o $@ $<

.c.o:
	cc $(CFLAGS) -c -o $@ $<

demo-printing: demo-printing.o libmalice.o
	ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^

demo-input-char: demo-input-char.o libmalice.o
	ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^

demo-input-int: demo-input-int.o libmalice.o
	ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^

demo-exitcode: demo-exitcode.o libmalice.o
	ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^

demo-exitclean: demo-exitclean.o libmalice.o
	ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^


.PHONY : clean
clean:
	rm -f *.o
	rm -f demo-printing
	rm -f demo-input-char
	rm -f demo-input-int
	rm -f demo-exitcode
	rm -f demo-exitclean