Add support for NASM assembler
This commit is contained in:
parent
6721d5b485
commit
12d1092753
|
|
@ -19,7 +19,7 @@ TARGET := kernel
|
||||||
CFILES := $(shell find src -path src/arch -prune -o -type f -name '*.c' -print)
|
CFILES := $(shell find src -path src/arch -prune -o -type f -name '*.c' -print)
|
||||||
ARCHFILES := $(ARCHFILES) $(shell find src/arch/$(ARCH) -type f -name '*.c' -print)
|
ARCHFILES := $(ARCHFILES) $(shell find src/arch/$(ARCH) -type f -name '*.c' -print)
|
||||||
HFILES := $(shell find src -type f -name '*.h')
|
HFILES := $(shell find src -type f -name '*.h')
|
||||||
OBJ := $(patsubst src/%.c,obj/$(ARCH)/%.o,$(CFILES) $(ARCHFILES))
|
OBJ := $(patsubst src/%,obj/$(ARCH)/%.o,$(CFILES) $(ARCHFILES))
|
||||||
|
|
||||||
.PHONY: all clean obj $(ARCHES)
|
.PHONY: all clean obj $(ARCHES)
|
||||||
|
|
||||||
|
|
@ -32,9 +32,9 @@ $(ARCHES):
|
||||||
bin/$(TARGET)-$(ARCH): $(OBJ)
|
bin/$(TARGET)-$(ARCH): $(OBJ)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
@echo Linking $@
|
@echo Linking $@
|
||||||
@$(LD) $(LDFLAGS) $(OBJ) -o $@
|
$(LD) $(LDFLAGS) $(OBJ) -o $@
|
||||||
|
|
||||||
obj/$(ARCH)/%.o: src/%.c $(HFILES)
|
obj/$(ARCH)/%.c.o: src/%.c $(HFILES)
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
@echo $(CC) $<
|
@echo $(CC) $<
|
||||||
@$(CC) $(CFLAGS) -c $< -o $@
|
@$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
-include make/x86/make.config
|
-include make/x86/make.config
|
||||||
|
|
||||||
|
NASM := nasm -felf32
|
||||||
|
|
@ -1,2 +1,9 @@
|
||||||
ARCHFILES := $(shell find src/arch/x86 -type f -name '*.c' -print)
|
ARCHFILES := $(shell find src/arch/x86 -type f -name '*.c' -print) \
|
||||||
ARCH_CFLAGS := -masm=intel
|
$(shell find src/arch/x86 -type f -name '*.nasm' -print) \
|
||||||
|
$(shell find src/arch/$(ARCH) -type f -name '*.nasm' -print)
|
||||||
|
ARCH_CFLAGS := -masm=intel
|
||||||
|
|
||||||
|
obj/$(ARCH)/%.nasm.o: src/%.nasm
|
||||||
|
@mkdir -p $(@D)
|
||||||
|
@echo nasm $<
|
||||||
|
@$(NASM) $(NASMFLAGS) $< -o $@
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
-include make/x86/make.config
|
-include make/x86/make.config
|
||||||
|
|
||||||
|
NASM := nasm -felf64
|
||||||
ARCH_CFLAGS := $(ARCH_CFLAGS) -mcmodel=kernel
|
ARCH_CFLAGS := $(ARCH_CFLAGS) -mcmodel=kernel
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue