TOPDIR = $(shell pwd) ARCH = x86 BIT = 32 ifeq ($(ARCH),x86) ifeq ($(BIT),32) TARGET=i586-metalsvm-elf32 endif ifeq ($(BIT),64) TARGET=x86_64-metalsvm-elf64 endif endif NEWLIB = $(TOPDIR)/$(ARCH)/$(TARGET) RM = rm -rf CD = cd MKDIR = mkdir TMP = $(TOPDIR)/tmp OPT = --disable-shared --disable-multilib --enable-newlib-hw-fp --disable-newlib-multithread --disable-newlib-reent-small default: $(ARCH) $(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C net depend $(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C net $(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples depend $(MAKE) ARCH=$(ARCH) BIT=$(BIT) TARGET=$(TARGET) CFLAGS+="-ffreestanding -Wall -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples $(ARCH): $(RM) $(TMP) $(MKDIR) $(TMP) $(CD) $(TMP); $(TOPDIR)/src/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) $(OPT) && $(MAKE) && $(MAKE) install $(MKDIR) $(NEWLIB)/include/netinet $(MKDIR) $(NEWLIB)/include/arpa clean: $(MAKE) -C examples clean $(MAKE) -C net clean $(RM) $(TMP) veryclean: clean $(MAKE) -C examples clean $(MAKE) -C net clean $(RM) $(TOPDIR)/$(ARCH)