metalsvm/Makefile.example
2010-08-17 21:20:03 +00:00

37 lines
1,018 B
Text

export TOPDIR = /home/stefan/SCC/MetalSVM
export ARCH = x86
NAME = metalsvm.bin
KERNDIRS = libkern kernel mm fs arch lwip drivers
SUBDIRS = libgloss $(KERNDIRS)
OBJS = $(shell for i in $(KERNDIRS); do find $$i -name *.o; done)
export MAKE = make
export ASM = nasm
export ASMFLAGS = -felf32
export INCLUDE = -I$(TOPDIR)/include -I$(TOPDIR)/arch/$(ARCH)/include -I$(TOPDIR)/lwip/src/include -I$(TOPDIR)/lwip/src/include/ipv4
export CC = gcc
export CFLAGS = -m32 -Wall -O2 -fno-builtin-function -fstrength-reduce -fomit-frame-pointer -finline-functions -nostdinc $(INCLUDE) -fno-stack-protector
export AR = ar
export ARFLAGS = rsv
export RM = rm -rf
LD = ld
LDFLAGS = -T link.ld
default:
for i in $(SUBDIRS); do $(MAKE) -C $$i default; done
$(MAKE) link
all:
for i in $(SUBDIRS); do $(MAKE) -C $$i all; done
$(MAKE) link
link:
$(LD) $(LDFLAGS) -o $(NAME) $(OBJS)
clean:
$(RM) $(NAME) *~
for i in $(SUBDIRS); do $(MAKE) -k -C $$i clean; done
depend:
for i in $(SUBDIRS); do $(MAKE) -k -C $$i depend; done