]>
git.ipfire.org Git - people/ms/u-boot.git/blob - examples/api/Makefile
2 # (C) Copyright 2007 Semihalf
4 # See file CREDITS for list of people who contributed to this
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License as
9 # published by the Free Software Foundatio; either version 2 of
10 # the License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 ifeq ($(ARCH
),powerpc
)
30 include $(TOPDIR
)/config.mk
32 # Resulting ELF and binary exectuables will be named demo and demo.bin
33 OUTPUT-
$(CONFIG_API
) = $(obj
)demo
36 # Source files located in the examples/api directory
37 SOBJ_FILES-
$(CONFIG_API
) += crt0.o
38 COBJ_FILES-
$(CONFIG_API
) += demo.o
39 COBJ_FILES-
$(CONFIG_API
) += glue.o
40 COBJ_FILES-
$(CONFIG_API
) += libgenwrap.o
42 # Source files which exist outside the examples/api directory
43 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/crc32.o
44 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/ctype.o
45 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/div64.o
46 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/string.o
47 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/time.o
48 EXT_COBJ_FILES-
$(CONFIG_API
) += lib
/vsprintf.o
49 ifeq ($(ARCH
),powerpc
)
50 EXT_SOBJ_FILES-
$(CONFIG_API
) += arch
/powerpc
/lib
/ppcstring.o
53 # Create a list of source files so their dependencies can be auto-generated
54 SRCS
+= $(addprefix $(SRCTREE
)/,$(EXT_COBJ_FILES-y
:.o
=.c
))
55 SRCS
+= $(addprefix $(SRCTREE
)/,$(EXT_SOBJ_FILES-y
:.o
=.S
))
56 SRCS
+= $(addprefix $(SRCTREE
)/examples
/api
/,$(COBJ_FILES-y
:.o
=.c
))
57 SRCS
+= $(addprefix $(SRCTREE
)/examples
/api
/,$(SOBJ_FILES-y
:.o
=.S
))
59 # Create a list of object files to be compiled
60 OBJS
+= $(addprefix $(obj
),$(SOBJ_FILES-y
))
61 OBJS
+= $(addprefix $(obj
),$(COBJ_FILES-y
))
62 OBJS
+= $(addprefix $(obj
),$(notdir $(EXT_COBJ_FILES-y
)))
63 OBJS
+= $(addprefix $(obj
),$(notdir $(EXT_SOBJ_FILES-y
)))
65 gcclibdir
:= $(shell dirname
`$(CC) -print-libgcc-file-name`)
69 all: $(obj
).depend
$(OUTPUT
)
71 #########################################################################
74 $(LD
) -Ttext
$(LOAD_ADDR
) -o
$@
$^
-L
$(gcclibdir
) -lgcc
75 $(OBJCOPY
) -O binary
$@
$(OUTPUT
).bin
2>/dev
/null
77 # Rule to build generic library C files
78 $(obj
)%.o
: $(SRCTREE
)/lib
/%.c
79 $(CC
) -g
$(CFLAGS
) -c
-o
$@
$<
81 # Rule to build architecture-specific library assembly files
82 $(obj
)%.o
: $(SRCTREE
)/arch
/$(ARCH
)/lib
/%.S
83 $(CC
) -g
$(CFLAGS
) -c
-o
$@
$<
85 #########################################################################
87 # defines $(obj).depend target
88 include $(SRCTREE
)/rules.mk
90 sinclude
$(obj
).depend
92 #########################################################################