aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile
blob: f5f9c83f2e6b0be3accb929f6deade3884b3792c (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
EXEC := bringelle
CC := gcc -c -m32 -fno-pie -fno-builtin -fno-stack-protector

UTILS_SRC := $(wildcard utils/*.c)

all: $(EXEC)

$(EXEC): boot.o utils.o bringelle.o
	for obj in $^ ;\
	do \
		objcopy --remove-section .note.gnu.property $${obj} ; \
	done
	ld -Ttext=0x00100000 -melf_i386 -nostdlib --oformat=binary -o bringelle $^ 

bringelle.o: bringelle.c
	$(CC) $^

utils.o: $(UTILS_SRC)
	for src in $^ ;\
	do \
		obj=$$(basename $${src} ".c")".o" ;\
		$(CC) $${src} -o utils/$${obj} ;\
	done
	ld -melf_i386 -relocatable utils/*.o -o utils.o

boot.o: ./boot/boot.S
	as --32 -o $@ $^ -mx86-used-note=no

clean:
	find ./ -name "*.o" -delete
	- rm $(EXEC)

.PHONY: clean