makefile: introduce target flags (TFLAGS)
authorScott Wood <scott@buserror.net>
Sat, 18 Feb 2012 20:56:36 +0000 (14:56 -0600)
committerScott Wood <scott@buserror.net>
Fri, 9 Mar 2012 05:17:10 +0000 (23:17 -0600)
set -m32/-m64 as appropriate

also add some missing $(V)

Signed-off-by: Scott Wood <scott@buserror.net>
Makefile.head
Makefile.target
kernel/arch/x64/Makefile.final
kernel/arch/x86/Makefile.final

index e3665175dfd8d6aa7636cdb10118ec2323e7b479..03d083270a5cce746aa3ac0ee426648334beeb50 100644 (file)
@@ -49,19 +49,22 @@ CINCS += -I$(TOP)/include/c -I$(TOP)/include/c/std \
 WARN += -Wall -Werror
 OPT += -O2
 DEBUG += -g3
-ABI += -freg-struct-return
+TFLAGS += -freg-struct-return # Target and ABI flags
 ifeq ($(V),)
        V := @
 else
        override V := 
 endif
 
-CXXFLAGS += $(DEFS) $(CXXINCS) $(CXXWARN) $(OPT) $(DEBUG) $(ABI)
+CXXFLAGS += $(DEFS) $(CXXINCS) $(CXXWARN) $(OPT) $(DEBUG) $(TFLAGS)
 BUILDCXXFLAGS += $(BUILDDEFS) $(CXXWARN) $(OPT) $(DEBUG)
 
-CFLAGS += $(CINCS) $(DEFS) $(CWARN) $(OPT) $(DEBUG) $(ABI)
+CFLAGS += $(CINCS) $(DEFS) $(CWARN) $(OPT) $(DEBUG) $(TFLAGS)
 BUILDCFLAGS += $(BUILDDEFS) $(CWARN) $(OPT) $(DEBUG)
 
+ASFLAGS += $(TFLAGS)
+LDFLAGS += $(TFLAGS)
+
 .PHONY: all default rerun dep servers clean distclean
 .SUFFIXES:
 
index 19c773cd5bf7c9cbae04efb7d8c5bd0f7356b293..0c09d332f92a69aaffcf3942a49f1d5b692cc125 100644 (file)
@@ -11,12 +11,14 @@ DEFS := $(EXTRADEFS)
 ifeq ($(ARCH),x86)
 CROSS := i686-polintos-
 DEFS += -DBITFIELD_LE -D__LITTLE_ENDIAN
+TFLAGS += -m32
 VALIDARCH := yes
 endif
 
 ifeq ($(ARCH),x64)
 CROSS := x86_64-polintos-
 DEFS += -DBITFIELD_LE -D__LITTLE_ENDIAN
+TFLAGS += -m64
 VALIDARCH := yes
 endif
 
index 709adf0e1a01aa34d7c2d6154045d952f0918ed1..6f848dabd89dd175873f5df0d41efa1ee6ce1eb4 100644 (file)
@@ -3,9 +3,9 @@ CXXFLAGS += -mno-red-zone -mcmodel=kernel -fno-omit-frame-pointer
 
 $(BUILDDIR)/kernel: $(OBJS) $(DIR)linker-script
        @echo $(COMP): Linking kernel: $@
-       @$(MKDIR) $(dir $@)
-       @$(LD) $(OBJS) -o "$@" -T$(DIR)linker-script
+       $(V)$(MKDIR) $(dir $@)
+       $(V)$(LD) $(LDFLAGS) $(OBJS) -o "$@" -T$(DIR)linker-script
 
 $(BUILDDIR)/kernel.stripped: $(BUILDDIR)/kernel
        @echo $(COMP): Stripping kernel: $@
-       @$(STRIP) $(BUILDDIR)/kernel -o "$@"
+       $(V)$(STRIP) $(BUILDDIR)/kernel -o "$@"
index 090c11d9ba638bda89810275de418ad54d5340a7..93aa5ed440443a7f4dd418cc7da6debe44e75e59 100644 (file)
@@ -2,8 +2,9 @@ DIR := arch/x86/
 
 $(BUILDDIR)/kernel: $(OBJS) $(LIBS) $(DIR)linker-script
        @echo $(COMP): Linking kernel: $@
-       @$(MKDIR) $(dir $@)
-       @$(CXX) $(OBJS) $(LIBS) -lgcc -lsupc++ -nostdlib -o "$@" -Wl,-T$(DIR)linker-script
+       $(V)$(MKDIR) $(dir $@)
+       $(V)$(CXX) $(LDFLAGS) $(OBJS) $(LIBS) -lgcc -lsupc++ \
+               -nostdlib -o "$@" -Wl,-T$(DIR)linker-script
 
 # GRUB refuses to use the addresses in the multiboot header if it
 # finds a valid ELF header, so the dd hacks a zero into the high byte
@@ -14,6 +15,6 @@ $(BUILDDIR)/kernel: $(OBJS) $(LIBS) $(DIR)linker-script
 
 $(BUILDDIR)/kernel.stripped: $(BUILDDIR)/kernel
        @echo $(COMP): Stripping kernel: $@
-       @$(STRIP) $(BUILDDIR)/kernel -o "$@"
-       @dd if=/dev/zero of=$(BUILDDIR)/kernel.stripped conv=notrunc \
-       bs=1 count=1 seek=67
+       $(V)$(STRIP) $(BUILDDIR)/kernel -o "$@"
+       $(V)dd if=/dev/zero of=$(BUILDDIR)/kernel.stripped conv=notrunc \
+               bs=1 count=1 seek=67