2 # (C) Copyright 2000-2006
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 # SPDX-License-Identifier: GPL-2.0+
9 CFLAGS
+= -finstrument-functions
-DFTRACE
12 extra-y
:= hello_world
13 extra-
$(CONFIG_SMC91111
) += smc91111_eeprom
14 extra-
$(CONFIG_SMC911X
) += smc911x_eeprom
15 extra-
$(CONFIG_SPI_FLASH_ATMEL
) += atmel_df_pow2
16 extra-
$(CONFIG_MPC5xxx
) += interrupt
17 extra-
$(CONFIG_8xx
) += test_burst timer
18 extra-
$(CONFIG_8260
) += mem_to_mem_idma2intr
19 extra-
$(CONFIG_PPC
) += sched
22 # Some versions of make do not handle trailing white spaces properly;
23 # leading to build failures. The problem was found with GNU Make 3.80.
24 # Using 'strip' as a workaround for the problem.
26 ELF
:= $(strip $(extra-y
))
28 extra-y
+= $(addsuffix .srec
,$(extra-y
)) $(addsuffix .bin
,$(extra-y
))
29 clean-files
:= $(extra-
) $(addsuffix .srec
,$(extra-
)) $(addsuffix .bin
,$(extra-
))
34 LIB
= $(obj
)libstubs.o
36 LIBAOBJS-
$(CONFIG_PPC
) += ppc_longjmp.o ppc_setjmp.o
37 LIBAOBJS-
$(CONFIG_8xx
) += test_burst_lib.o
38 LIBAOBJS
:= $(LIBAOBJS-y
)
42 LIBOBJS
= $(addprefix $(obj
),$(LIBAOBJS
) $(LIBCOBJS
))
44 SRCS
:= $(COBJS
:.o
=.c
) $(LIBCOBJS
:.o
=.c
) $(LIBAOBJS
:.o
=.S
)
45 OBJS
:= $(addprefix $(obj
),$(COBJS
))
46 ELF
:= $(addprefix $(obj
),$(ELF
))
48 gcclibdir
:= $(shell dirname
`$(CC) -print-libgcc-file-name`)
50 # For PowerPC there's no need to compile standalone applications as a
51 # relocatable executable. The relocation data is not needed, and
52 # also causes the entry point of the standalone application to be
54 ifeq ($(ARCH
),powerpc
)
55 AFLAGS
:= $(filter-out $(RELFLAGS
),$(AFLAGS
))
56 CFLAGS
:= $(filter-out $(RELFLAGS
),$(CFLAGS
))
57 CPPFLAGS
:= $(filter-out $(RELFLAGS
),$(CPPFLAGS
))
60 # We don't want gcc reordering functions if possible. This ensures that an
61 # application's entry point will be the first function in the application's
63 CFLAGS
+= $(call cc-option
,-fno-toplevel-reorder
)
65 #########################################################################
67 $(call cmd_link_o_target
, $(LIBOBJS
))
70 $(obj
)%: $(obj
)%.o
$(LIB
)
71 $(LD
) $(LDFLAGS
) -g
-Ttext
$(CONFIG_STANDALONE_LOAD_ADDR
) \
72 -o
$@
-e
$(SYM_PREFIX
)$(notdir $(<:.o
=)) $< $(LIB
) \
76 $(OBJCOPY
) -O srec
$< $@
2>/dev
/null
79 $(OBJCOPY
) -O binary
$< $@
2>/dev
/null