37 lines
684 B
Makefile
37 lines
684 B
Makefile
|
|
KERNEL := hos
|
|
LDFLAGS := -T link.ld
|
|
|
|
export PLATFORM := $(shell if [[ `uname` =~ "CYGWIN" ]]; then \
|
|
echo cygwin; \
|
|
else \
|
|
echo unix; \
|
|
fi)
|
|
ifeq ($(PLATFORM), cygwin)
|
|
export LD := i586-elf-ld
|
|
export CC := i586-elf-gcc
|
|
export CXX := i586-elf-g++
|
|
else
|
|
export LD := ld
|
|
export CC := gcc
|
|
export CXX := g++
|
|
endif
|
|
export NASM := nasm
|
|
|
|
|
|
.PHONY: all
|
|
all: $(KERNEL).gz
|
|
|
|
$(KERNEL).gz: $(KERNEL)
|
|
gzip -c $< > $@
|
|
|
|
$(KERNEL): boot.o
|
|
$(LD) $(LDFLAGS) -o $@ $<
|
|
|
|
boot.o: boot.asm
|
|
$(NASM) -f elf -o $@ $<
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
-rm -f *~ $(KERNEL) $(KERNEL).gz *.o
|