X-Git-Url: http://akaros.cs.berkeley.edu/gitweb/?p=akaros.git;a=blobdiff_plain;f=Makefile;h=ff6658603e8449b0c3c265ae01553d98919c363c;hp=7a7967c3cb4c886e8f62f051f637200ce1eebc44;hb=288d621e887d9e8f820b7bcc902d854d3f0d47d5;hpb=6623cb259e2a614f58250b1d96c2213f9a168a77 diff --git a/Makefile b/Makefile index 7a7967c..ff66586 100644 --- a/Makefile +++ b/Makefile @@ -310,8 +310,9 @@ KERNEL_LD ?= kernel.ld gcc-lib := $(shell $(CC) -print-libgcc-file-name 2>/dev/null) NOSTDINC_FLAGS += -nostdinc -isystem \ $(shell $(CC) -print-file-name=include 2>/dev/null) -XCC_TARGET_ROOT := $(dir $(shell which $(CC) 2> /dev/null))../$(patsubst %-,%,\ - $(CROSS_COMPILE)) +XCC_TARGET_ROOT := $(shell $(CC) --print-sysroot 2> /dev/null) +XCC_TARGET_LIB := $(XCC_TARGET_ROOT)/usr/lib/ +XCC_TARGET_INCLUDE := $(XCC_TARGET_ROOT)/usr/include/ CFLAGS_KERNEL += -O2 -pipe -MD CFLAGS_KERNEL += -std=gnu99 -fgnu89-inline @@ -343,7 +344,7 @@ KBUILD_CHECKSRC := 0 export AKAROSINCLUDE CROSS_COMPILE export CC CPP AS AR LD OBJCOPY OBJDUMP NM STRIP export CFLAGS_KERNEL AFLAGS_KERNEL -export NOSTDINC_FLAGS XCC_TARGET_ROOT +export NOSTDINC_FLAGS XCC_TARGET_ROOT XCC_TARGET_LIB XCC_TARGET_INCLUDE export KBUILD_BUILTIN KBUILD_CHECKSRC CFLAGS_USER += -O2 -std=gnu99 -fno-stack-protector -fgnu89-inline @@ -394,7 +395,7 @@ $(srctree)/Makelocal: ; # We have all-arch-dirs and all-dirs, so that we can still clean even without # an arch symlink. -core-y += kern/src/ kern/drivers/ $(AKAROS_EXTERNAL_DIRS) +core-y += kern/src/ kern/drivers/ kern/lib/ $(AKAROS_EXTERNAL_DIRS) arch-y += kern/arch/$(ARCH)/ akaros-dirs := $(patsubst %/,%,$(filter %/, $(core-y) $(arch-y))) @@ -541,6 +542,7 @@ endif #ifeq ($(mixed-targets),1) # such as how pthread depends on parlib. user-dirs = parlib pthread benchutil iplib ndblib bsd +benchutil: parlib pthread: parlib benchutil iplib: parlib ndblib: iplib @@ -550,12 +552,12 @@ PHONY += install-libs $(user-dirs) install-libs: $(user-dirs) symlinks cc-exists $(user-dirs): - @cd user/$@ && $(MAKE) && $(MAKE) install + @cd user/$@ && $(MAKE) DEPLIBS="$^" && $(MAKE) install PHONY += userclean $(clean-user-dirs) clean-user-dirs := $(addprefix _clean_user_,$(user-dirs)) -userclean: $(clean-user-dirs) testclean +userclean: $(clean-user-dirs) testclean utestclean $(clean-user-dirs): @cd user/$(patsubst _clean_user_%,%,$@) && $(MAKE) clean @@ -571,9 +573,12 @@ utest: $(user-dirs) testclean: @$(MAKE) -f tests/Makefile clean +utestclean: + @cd user/utest && $(MAKE) clean + # KFS related stuff PHONY += fill-kfs unfill-kfs -XCC_SO_FILES = $(addprefix $(XCC_TARGET_ROOT)/lib/, *.so*) +XCC_SO_FILES = $(addprefix $(XCC_TARGET_LIB), *.so*) $(OBJDIR)/.dont-force-fill-kfs: $(Q)rm -rf $(addprefix $(FIRST_KFS_PATH)/lib/, $(notdir $(XCC_SO_FILES)))