LICENSE: BSD 3-Clause "New" or "Revised" License
[libmalice.git] / Makefile
1 NASMFLAGS = -f elf
2 CINCLUDE=
3 CWARNS=-Wall -Wpointer-arith -Wnested-externs
4 CFLAGS=$(CINCLUDE) $(CWARNS) -O2
5 LDFLAGS=
6
7 SRCDIR=src
8 BINDIR=build
9
10 all: libmalice.o demo-printing demo-input-char demo-input-int demo-exitcode demo-exitclean
11
12 libmalice.o: libmalice.asm
13         nasm $(NASMFLAGS) -o $@ $<
14
15 .c.o:
16         cc $(CFLAGS) -c -o $@ $<
17
18 demo-printing: demo-printing.o libmalice.o
19         ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
20
21 demo-input-char: demo-input-char.o libmalice.o
22         ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
23
24 demo-input-int: demo-input-int.o libmalice.o
25         ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
26
27 demo-exitcode: demo-exitcode.o libmalice.o
28         ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
29
30 demo-exitclean: demo-exitclean.o libmalice.o
31         ld $(LDFLAGS) -nostdlib -e _lmStart -o $@ $^
32
33
34 .PHONY : clean
35 clean:
36         rm -f *.o
37         rm -f demo-printing
38         rm -f demo-input-char
39         rm -f demo-input-int
40         rm -f demo-exitcode
41         rm -f demo-exitclean