All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] ia64 arch makefile update
Date: Fri, 06 Dec 2002 22:41:41 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590709805512@msgid-missing> (raw)

Hi all.
Following is an update of various ia64 specific makefiles.
Patch is on top of linus-latest, with the 2.5.50 ia64 patch posted here applied.

Summary of changes:
o Simplified arch/ia64/Makefile
  - During this process the boot: target were removed
o Moved final generation of vmlinux.gz to boot/Makefile
  - This allowed me to use some of the kbuild infrastructure
  - Final file "vmlinux.gz" is now saved in arch/ia64/boot in line with
    other architectures.
o s/$(ARCH)/ia64 - since we know that this is the architecture we use
o Small clean up all over, e.g. removed inclusion of Rules.make
  Also made some nicer indenting, but no functional changes.

I can build a kernel with this, but has not done furhter testing.

Sample run:
[sam@mars lia64]$ make KBUILD_VERBOSE=0
make[1]: Nothing to be done for `include/asm-ia64/offsets.h'.
  Starting the build. KBUILD_BUILTIN=1 KBUILD_MODULES=1
  Generating include/linux/compile.h (unchanged)
  Generating build number
  Generating include/linux/compile.h (updated)
  CC      init/version.o
  LD      init/built-in.o
  LD      vmlinux
  OBJCOPY arch/ia64/boot/vmlinux.bin
  GZIP    arch/ia64/boot/vmlinux.gz
  Kernel: arch/ia64/boot/vmlinux.gz is ready

TODO's:
- Update offset generation to use the kbuild infrastructure. arm, sparc
  is good examples here. Anyone looking into this already?
- Add archhelp, so "make help" will list possible choices
- Take a look into arch/ia64/sn/*
  - It looks a bit strange???

Feedback is welcome.

	Sam


 Makefile           |   77 ++++++++++++++++++++++------------------------------- boot/Makefile      |   25 +++++++++--------
 dig/Makefile       |    2 -
 hp/common/Makefile |    2 -
 hp/sim/Makefile    |    2 -
 hp/zx1/Makefile    |    2 -
 ia32/Makefile      |    6 +---
 kernel/Makefile    |    9 +++---
 mm/Makefile        |   12 ++------
 pci/Makefile       |    5 ++-
 10 files changed, 60 insertions(+), 82 deletions(-)


=== arch/ia64/Makefile 1.27 vs edited ==--- 1.27/arch/ia64/Makefile	Fri Oct 25 06:35:08 2002
+++ edited/arch/ia64/Makefile	Fri Dec  6 22:16:00 2002
@@ -13,12 +13,12 @@
 
 export AWK
 
-OBJCOPYFLAGS := --strip-all
-LDFLAGS_vmlinux := -static
-AFLAGS_KERNEL := -mconstant-gp
-EXTRA	+OBJCOPYFLAGS	:= --strip-all
+LDFLAGS_vmlinux	:= -static
+AFLAGS_KERNEL	:= -mconstant-gp
+EXTRA		: 
-CFLAGS := $(CFLAGS) -pipe $(EXTRA) -ffixed-r13 -mfixed-rangeñ0-f15,f32-f127 \
+cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-rangeñ0-f15,f32-f127 \
 	  -falign-functions2
 # -ffunction-sections
 CFLAGS_KERNEL := -mconstant-gp
@@ -29,52 +29,41 @@
 	CFLAGS += -frename-registers --param max-inline-insnsP00
 endif
 
-ifeq ($(CONFIG_ITANIUM_BSTEP_SPECIFIC),y)
-	CFLAGS += -mb-step
-endif
-
-HEAD := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
-
-libs-y				+= arch/$(ARCH)/lib/
-core-y				+= arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/
-core-$(CONFIG_IA32_SUPPORT)	+= arch/$(ARCH)/ia32/
-core-$(CONFIG_IA64_DIG) 	+= arch/$(ARCH)/dig/
-core-$(CONFIG_IA64_GENERIC) 	+= arch/$(ARCH)/dig/ arch/$(ARCH)/hp/common/ arch/$(ARCH)/hp/zx1/ \
-				   arch/$(ARCH)/hp/sim/
-core-$(CONFIG_IA64_HP_ZX1)	+= arch/$(ARCH)/dig/
-core-$(CONFIG_IA64_SGI_SN)	+= arch/$(ARCH)/sn/kernel arch/$(ARCH)/sn/io \
-				   arch/$(ARCH)/sn/fakeprom
-drivers-$(CONFIG_PCI)		+= arch/$(ARCH)/pci/
-drivers-$(CONFIG_IA64_HP_SIM)	+= arch/$(ARCH)/hp/sim/
-drivers-$(CONFIG_IA64_HP_ZX1)	+= arch/$(ARCH)/hp/common/ arch/$(ARCH)/hp/zx1/
-
-ifdef CONFIG_IA64_SGI_SN
-	CFLAGS			+= -DBRINGUP
-        SUBDIRS         	+= arch/$(ARCH)/sn/fakeprom
-endif
+cflags-$(CONFIG_ITANIUM_BSTEP_SPECIFIC)	+= -mb-step
+cflags-$(CONFIG_IA64_SGI_SN)		+= -DBRINGUP
 
-makeboot = $(call descend,arch/ia64/boot,$(1))
-maketool = $(call descend,arch/ia64/tools,$(1))
+HEAD := arch/ia64/kernel/head.o arch/ia64/kernel/init_task.o
 
-.PHONY: compressed archclean archmrproper $(TOPDIR)/include/asm-ia64/offsets.h
+libs-y				+= arch/ia64/lib/
+core-y				+= arch/ia64/kernel/ arch/ia64/mm/
+core-$(CONFIG_IA32_SUPPORT)	+= arch/ia64/ia32/
+core-$(CONFIG_IA64_DIG) 	+= arch/ia64/dig/
+core-$(CONFIG_IA64_GENERIC) 	+= arch/ia64/dig/ arch/ia64/hp/common/
+core-$(CONFIG_IA64_GENERIC)	+= arch/ia64/hp/zx1/ arch/ia64/hp/sim/
+core-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/dig/
+core-$(CONFIG_IA64_SGI_SN)	+= arch/ia64/sn/kernel/ arch/ia64/sn/io/ \
+				   arch/ia64/sn/fakeprom/
+drivers-$(CONFIG_PCI)		+= arch/ia64/pci/
+drivers-$(CONFIG_IA64_HP_SIM)	+= arch/ia64/hp/sim/
+drivers-$(CONFIG_IA64_HP_ZX1)	+= arch/ia64/hp/common/ arch/ia64/hp/zx1/
+
+makeboot =$(Q)$(MAKE) -f scripts/Makefile.build obj=arch/ia64/boot $(1)
+maketool =$(Q)$(MAKE) -f scripts/Makefile.build obj=arch/ia64/tools $(1)
 
-all: compressed boot
+.PHONY: compressed archclean archmrproper include/asm-ia64/offsets.h
 
-boot: vmlinux
-	+@$(call makeboot,all)
+all compressed: arch/ia64/boot/vmlinux.gz
 
-compressed: vmlinux
-	$(OBJCOPY) $(OBJCOPYFLAGS) vmlinux vmlinux-tmp
-	gzip vmlinux-tmp
-	mv vmlinux-tmp.gz vmlinux.gz
+arch/ia64/boot/vmlinux.gz: vmlinux
+	$(call makeboot,arch/ia64/boot/vmlinux.gz)
 
+archmrproper:
 archclean:
-	$(MAKE) -rR -f scripts/Makefile.clean obj=arch/$(ARCH)/boot
+	$(Q)$(MAKE) -f scripts/Makefile.clean obj=arch/ia64/boot
 
-archmrproper:
 
-prepare: $(TOPDIR)/include/asm-ia64/offsets.h
+prepare: include/asm-ia64/offsets.h
 
-$(TOPDIR)/include/asm-ia64/offsets.h: include/asm include/linux/version.h \
-				      include/config/MARKER
-	+@$(call maketool,$@)
+include/asm-ia64/offsets.h: include/asm include/linux/version.h \
+			    include/config/MARKER
+	$(call maketool,$@)
=== arch/ia64/boot/Makefile 1.6 vs edited ==--- 1.6/arch/ia64/boot/Makefile	Mon Oct 28 03:20:05 2002
+++ edited/arch/ia64/boot/Makefile	Fri Dec  6 22:16:01 2002
@@ -8,20 +8,23 @@
 # Copyright (C) 1998 by David Mosberger-Tang <davidm@hpl.hp.com>
 #
 
-LINKFLAGS = -static -T $(src)/bootloader.lds
+EXTRA_TARGETS := vmlinux.bin vmlinux.gz
 
-OBJS	= $(obj)/bootloader.o
+$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
+	$(call if_changed,gzip)
+	@echo '  Kernel: $@ is ready'
 
-targets-$(CONFIG_IA64_HP_SIM)	+= bootloader
-targets-$(CONFIG_IA64_GENERIC)	+= bootloader
+$(obj)/vmlinux.bin: vmlinux FORCE
+	$(call if_changed,objcopy)
 
-CFLAGS	:= $(CFLAGS) $(CFLAGS_KERNEL)
 
-all:	$(targets-y)
+targets-$(CONFIG_IA64_HP_SIM)  += bootloader
+targets-$(CONFIG_IA64_GENERIC) += bootloader
 
-bootloader: $(OBJS)
-	$(LD) $(LINKFLAGS) $(OBJS) $(TOPDIR)/lib/lib.a $(TOPDIR)/arch/$(ARCH)/lib/lib.a \
-	-o bootloader
+EXTRA_TARGETS += $(sort $(targets-y))
 
-clean:
-	rm -f $(TARGETS)
+LDFLAGS_bootloader = -static -T
+
+bootloader: $(src)/bootloader.lds $(obj)/bootloader.o \
+            lib/lib.a arch/ia64/lib/lib.a FORCE
+	$(call if_changed,ld)
=== arch/ia64/dig/Makefile 1.5 vs edited ==--- 1.5/arch/ia64/dig/Makefile	Mon Sep 23 01:34:27 2002
+++ edited/arch/ia64/dig/Makefile	Fri Dec  6 22:16:01 2002
@@ -7,5 +7,3 @@
 
 obj-y := setup.o
 obj-$(CONFIG_IA64_GENERIC) += machvec.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/hp/common/Makefile 1.4 vs edited ==--- 1.4/arch/ia64/hp/common/Makefile	Sat Sep 21 10:25:52 2002
+++ edited/arch/ia64/hp/common/Makefile	Fri Dec  6 22:16:02 2002
@@ -8,5 +8,3 @@
 export-objs := sba_iommu.o
 
 obj-y := sba_iommu.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/hp/sim/Makefile 1.4 vs edited ==--- 1.4/arch/ia64/hp/sim/Makefile	Mon Sep 23 01:34:28 2002
+++ edited/arch/ia64/hp/sim/Makefile	Fri Dec  6 22:16:03 2002
@@ -13,5 +13,3 @@
 obj-$(CONFIG_HP_SIMETH)	+= simeth.o
 obj-$(CONFIG_HP_SIMSERIAL) += simserial.o
 obj-$(CONFIG_HP_SIMSCSI) += simscsi.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/hp/zx1/Makefile 1.4 vs edited ==--- 1.4/arch/ia64/hp/zx1/Makefile	Sat Sep 21 10:25:52 2002
+++ edited/arch/ia64/hp/zx1/Makefile	Fri Dec  6 22:16:04 2002
@@ -7,5 +7,3 @@
 
 obj-y := hpzx1_misc.o
 obj-$(CONFIG_IA64_GENERIC) += hpzx1_machvec.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/ia32/Makefile 1.7 vs edited ==--- 1.7/arch/ia64/ia32/Makefile	Mon Sep 23 01:34:28 2002
+++ edited/arch/ia64/ia32/Makefile	Fri Dec  6 22:16:04 2002
@@ -2,7 +2,5 @@
 # Makefile for the ia32 kernel emulation subsystem.
 #
 
-obj-y := ia32_entry.o sys_ia32.o ia32_ioctl.o ia32_signal.o ia32_support.o ia32_traps.o \
-	 binfmt_elf32.o ia32_ldt.o
-
-include $(TOPDIR)/Rules.make
+obj-y := ia32_entry.o sys_ia32.o ia32_ioctl.o ia32_signal.o \
+	 ia32_support.o ia32_traps.o binfmt_elf32.o ia32_ldt.o
=== arch/ia64/kernel/Makefile 1.10 vs edited ==--- 1.10/arch/ia64/kernel/Makefile	Sat Sep 21 10:25:52 2002
+++ edited/arch/ia64/kernel/Makefile	Fri Dec  6 22:16:05 2002
@@ -6,14 +6,15 @@
 
 export-objs := ia64_ksyms.o
 
-obj-y := acpi.o entry.o gate.o efi.o efi_stub.o ia64_ksyms.o irq.o irq_ia64.o irq_lsapic.o ivt.o \
-	 machvec.o pal.o process.o perfmon.o ptrace.o sal.o semaphore.o setup.o	\
+obj-y := acpi.o entry.o gate.o efi.o efi_stub.o ia64_ksyms.o \
+	 irq.o irq_ia64.o irq_lsapic.o ivt.o \
+	 machvec.o pal.o process.o perfmon.o ptrace.o sal.o \
+	 semaphore.o setup.o	\
 	 signal.o sys_ia64.o traps.o time.o unaligned.o unwind.o
+
 obj-$(CONFIG_IOSAPIC) += iosapic.o
 obj-$(CONFIG_IA64_PALINFO) += palinfo.o
 obj-$(CONFIG_EFI_VARS) += efivars.o
 obj-$(CONFIG_SMP) += smp.o smpboot.o
 obj-$(CONFIG_IA64_MCA) += mca.o mca_asm.o
 obj-$(CONFIG_IA64_BRL_EMU) += brl_emu.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/mm/Makefile 1.5 vs edited ==--- 1.5/arch/ia64/mm/Makefile	Tue Oct 22 15:48:03 2002
+++ edited/arch/ia64/mm/Makefile	Fri Dec  6 22:16:05 2002
@@ -1,15 +1,9 @@
 #
 # Makefile for the ia64-specific parts of the memory manager.
 #
-# Note! Dependencies are done automagically by 'make dep', which also
-# removes any old dependencies. DON'T put your own dependencies here
-# unless it's something special (ie not a .c file).
-#
-# Note 2! The CFLAGS definition is now in the main makefile...
 
-obj-y	 := init.o fault.o tlb.o extable.o
+obj-y := init.o fault.o tlb.o extable.o
+
 obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
-obj-$(CONFIG_NUMA) += numa.o
+obj-$(CONFIG_NUMA)	   += numa.o
 obj-$(CONFIG_DISCONTIGMEM) += discontig.o
-
-include $(TOPDIR)/Rules.make
=== arch/ia64/pci/Makefile 1.1 vs edited ==--- 1.1/arch/ia64/pci/Makefile	Sat Sep 21 10:25:52 2002
+++ edited/arch/ia64/pci/Makefile	Fri Dec  6 22:16:06 2002
@@ -1,3 +1,4 @@
+#
+# Makefile for the ia64-specific parts of the pci bus
+#
 obj-y		:= pci.o
-
-include $(TOPDIR)/Rules.make


             reply	other threads:[~2002-12-06 22:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-06 22:41 Sam Ravnborg [this message]
2002-12-07  7:18 ` [Linux-ia64] ia64 arch makefile update Sam Ravnborg
2002-12-07 22:01 ` Sam Ravnborg
2002-12-10  6:43 ` David Mosberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-ia64-105590709805512@msgid-missing \
    --to=sam@ravnborg.org \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.