diff options
author | Marian Balakowicz <m8@semihalf.com> | 2006-09-01 19:49:50 +0200 |
---|---|---|
committer | Marian Balakowicz <m8@semihalf.com> | 2006-09-01 19:49:50 +0200 |
commit | f93286397ed2a7084efb0362a43ee09f11702349 (patch) | |
tree | 11e0c11781ba0b867831eff47a4178a464cf00b3 /board/MAI | |
parent | 24d3d3754634532ae262075484e7c1d00d447152 (diff) |
Add support for a saving build objects in a separate directory.
Modifications are based on the linux kernel approach and
support two use cases:
1) Add O= to the make command line
'make O=/tmp/build all'
2) Set environement variable BUILD_DIR to point to the desired location
'export BUILD_DIR=/tmp/build'
'make'
The second approach can also be used with a MAKEALL script
'export BUILD_DIR=/tmp/build'
'./MAKEALL'
Command line 'O=' setting overrides BUILD_DIR environent variable.
When none of the above methods is used the local build is performed and
the object files are placed in the source directory.
Diffstat (limited to 'board/MAI')
-rw-r--r-- | board/MAI/AmigaOneG3SE/Makefile | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/board/MAI/AmigaOneG3SE/Makefile b/board/MAI/AmigaOneG3SE/Makefile index b1247fe4e8..e9204823d9 100644 --- a/board/MAI/AmigaOneG3SE/Makefile +++ b/board/MAI/AmigaOneG3SE/Makefile @@ -1,5 +1,5 @@ # -# (C) Copyright 2002 +# (C) Copyright 2002-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this @@ -22,8 +22,12 @@ # include $(TOPDIR)/config.mk +ifneq ($(OBJTREE),$(SRCTREE)) +$(shell mkdir -p $(obj)../menu) +$(shell mkdir -p $(obj)../bios_emulator) +endif -LIB = lib$(BOARD).a +LIB = $(obj)lib$(BOARD).a COBJS = $(BOARD).o articiaS.o flash.o serial.o smbus.o articiaS_pci.o \ via686.o i8259.o ../bios_emulator/x86interface.o \ @@ -31,26 +35,29 @@ COBJS = $(BOARD).o articiaS.o flash.o serial.o smbus.o articiaS_pci.o \ interrupts.o ps2kbd.o video.o usb_uhci.o enet.o \ ../menu/cmd_menu.o cmd_boota.o nvram.o -AOBJS = board_asm_init.o memio.o - -OBJS = $(COBJS) $(AOBJS) +SOBJS = board_asm_init.o memio.o EMUDIR = ../bios_emulator/scitech/src/x86emu/ EMUOBJ = $(EMUDIR)decode.o $(EMUDIR)ops2.o $(EMUDIR)fpu.o $(EMUDIR)prim_ops.o \ $(EMUDIR)ops.o $(EMUDIR)sys.o -EMUSRC = $(EMUOBJ:.o=.c) +EMUSRC = $(EMUOBJ:.o=.c) + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) +EMUOBJ := $(addprefix $(obj),$(EMUOBJ)) -$(LIB): .depend $(OBJS) $(EMUSRC) - make libx86emu.a -C ../bios_emulator/scitech/src/x86emu -f makefile.uboot CROSS_COMPILE=$(CROSS_COMPILE) +$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(EMUSRC) + make $(obj)libx86emu.a -C ../bios_emulator/scitech/src/x86emu -f makefile.uboot CROSS_COMPILE=$(CROSS_COMPILE) -rm $(LIB) - $(AR) crv $@ $(OBJS) $(EMUOBJ) + $(AR) crv $@ $(OBJS) $(SOBJS) $(EMUOBJ) ######################################################################### -.depend: Makefile $(AOBJS:.o=.S) $(COBJS:.o=.c) - $(CC) -M $(CFLAGS) $(AOBJS:.o=.S) $(COBJS:.o=.c) > $@ +# defines $(obj).depend target +include $(SRCTREE)/rules.mk -sinclude .depend +sinclude $(obj).depend ######################################################################### |