x86: changes LAPIC timer divisor to 32
[akaros.git] / GNUmakefile
index 2939ab2..0c67d05 100644 (file)
@@ -16,12 +16,12 @@ endif
 ifeq ($(TARGET_ARCH),)
 busted:
        @echo "You must initially specify your target in the form TARGET_ARCH=<target>"
-       @echo "Current valid values for TARGET_ARCH are 'i686' and 'sparc'"
+       @echo "Current valid values for TARGET_ARCH are 'i686', 'sparc', and 'riscv'."
        @echo "Subsequent calls for the same target can be made by simply invoking 'make'"
 endif
 
-$(TARGET_ARCH):
-       @if [ "$(ARCH_LINK)" != "$@" ];\
+real-$(TARGET_ARCH):
+       @if [ "$(ARCH_LINK)" != "$(TARGET_ARCH)" ];\
        then\
          $(MAKE) realclean;\
          $(MAKE) realall -j $(MAKE_JOBS);\
@@ -95,6 +95,7 @@ endif
 
 # Default programs for compilation
 USER_CFLAGS += -O2 -std=gnu99
+USER_CXXFLAGS += -O2
 ifeq ($(COMPILER),IVY)
 KERN_CFLAGS += --deputy \
                --no-rc-sharc \
@@ -110,6 +111,7 @@ else
 CC         := $(GCCPREFIX)gcc 
 endif
 
+CPP        := $(GCCPREFIX)g++
 AS         := $(GCCPREFIX)as
 AR         := $(GCCPREFIX)ar
 LD         := $(GCCPREFIX)ld
@@ -133,6 +135,8 @@ KERN_CFLAGS += -D$(TARGET_ARCH) $(EXTRAARGS)
 KERN_CFLAGS += -O2 -pipe -MD -fno-builtin -gstabs -static
 KERN_CFLAGS += -Wall -Wno-format -Wno-unused -fno-strict-aliasing
 KERN_CFLAGS += -nostdinc -I$(dir $(GCC_LIB))/include
+# Our backtraces need the frame pointer
+KERN_CFLAGS += -fno-omit-frame-pointer
 
 # Universal loader flags
 LDFLAGS := -nostdlib
@@ -162,7 +166,8 @@ GCC_ROOT := $(shell which $(GCCPREFIX)gcc | xargs dirname)/../
 tests/: tests
 tests: install-libs
        @$(MAKE) -j $(MAKE_JOBS) realtests
-realtests: $(TESTS_EXECS)
+
+realtests: $(TESTS_EXECS_C) $(TESTS_EXECS_CPP)
 # No longer automatically copying to the FS dir (deprecated)
 #      @mkdir -p fs/$(TARGET_ARCH)/tests
 #      cp -R $(OBJDIR)/$(TESTS_DIR)/* $(TOP_DIR)/fs/$(TARGET_ARCH)/tests
@@ -183,6 +188,7 @@ install-libs:
 fill-kfs: install-libs
        @rm -rf $(FIRST_INITRAMFS_PATH)/lib
        @cp -R $(GCC_ROOT)/$(TARGET_ARCH)-ros/lib $(FIRST_INITRAMFS_PATH)
+endif
 
 userclean:
        @for i in $(USER_LIBS) ; do \
@@ -192,7 +198,6 @@ userclean:
        done
        @rm -rf $(OBJDIR)/$(TESTS_DIR)
 .PHONY: tests
-endif
 
 # Eliminate default suffix rules
 .SUFFIXES: