From 97d3551106495fa18969e2690720b621ba5a9c0b Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Sun, 24 Jun 2018 02:27:22 +1000 Subject: Re-structured the source tree and modified makefiles accordingly. Hopefully further separation will help to keep the code readable and understandable. --- usrbin/Makefile | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 usrbin/Makefile (limited to 'usrbin/Makefile') diff --git a/usrbin/Makefile b/usrbin/Makefile new file mode 100644 index 0000000..16a607f --- /dev/null +++ b/usrbin/Makefile @@ -0,0 +1,32 @@ +TARGET = usrbin_blob.o + +SRCS = $(wildcard *.c) +ASMS = $(wildcard *.s) +OBJS = $(SRCS:.c=.o) $(ASMS:.s=.o) + +CFLAGS = -m32 -I../include -ffreestanding -nostdinc -nostdlib -fno-stack-protector -fno-pie +LDFLAGS = -m elf_i386 -T link.ld +ASMFLAGS = -f elf32 + +CC = gcc $(CFLAGS) +LD = ld $(LDFLAGS) +ASM = nasm $(ASMFLAGS) + +all: build + +build: $(TARGET) + +.s.o: + $(ASM) -o $*.o $^ + +.c.o: + $(CC) -c -o $*.o $^ + +$(TARGET): $(OBJS) + $(LD) -o usrbin.bin $(OBJS) + objcopy -I binary -O elf32-i386 -B i386 usrbin.bin $(TARGET) + +clean: + rm -f usrbin.bin + rm -f $(OBJS) + rm -f $(TARGET) -- cgit v1.3