]>
Commit | Line | Data |
---|---|---|
f578a2da MS |
1 | # |
2 | # (C) Copyright 2009 Marco Stornelli <marco.stornelli@gmail.com> | |
3 | # | |
1a459660 | 4 | # SPDX-License-Identifier: GPL-2.0+ |
f578a2da MS |
5 | # |
6 | ||
7 | include $(TOPDIR)/config.mk | |
8 | ||
f578a2da MS |
9 | # Generated executable files |
10 | BIN_FILES-y += imls | |
11 | ||
12 | # Source files which exist outside the tools/imls directory | |
78acc472 PT |
13 | EXT_OBJ_FILES-y += lib/crc32.o |
14 | EXT_OBJ_FILES-y += lib/md5.o | |
15 | EXT_OBJ_FILES-y += lib/sha1.o | |
f578a2da MS |
16 | EXT_OBJ_FILES-y += common/image.o |
17 | ||
18 | # Source files located in the tools/imls directory | |
19 | OBJ_FILES-y += imls.o | |
20 | ||
21 | # Flattened device tree objects | |
22 | LIBFDT_OBJ_FILES-y += fdt.o | |
23 | LIBFDT_OBJ_FILES-y += fdt_ro.o | |
24 | LIBFDT_OBJ_FILES-y += fdt_rw.o | |
25 | LIBFDT_OBJ_FILES-y += fdt_strerror.o | |
26 | LIBFDT_OBJ_FILES-y += fdt_wip.o | |
27 | ||
28 | # now $(obj) is defined | |
29 | SRCS += $(addprefix $(SRCTREE)/,$(EXT_OBJ_FILES-y:.o=.c)) | |
30 | SRCS += $(addprefix $(SRCTREE)/tools/,$(OBJ_FILES-y:.o=.c)) | |
0de71d50 | 31 | SRCS += $(addprefix $(SRCTREE)/lib/libfdt/,$(LIBFDT_OBJ_FILES-y:.o=.c)) |
f578a2da MS |
32 | BINS := $(addprefix $(obj),$(sort $(BIN_FILES-y))) |
33 | LIBFDT_OBJS := $(addprefix $(obj),$(LIBFDT_OBJ_FILES-y)) | |
34 | ||
35 | # | |
d984fed0 | 36 | # Compile for a hosted environment on the target |
f578a2da MS |
37 | # Define __KERNEL_STRICT_NAMES to prevent typedef overlaps |
38 | # | |
d984fed0 | 39 | HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \ |
f578a2da MS |
40 | -idirafter $(OBJTREE)/include2 \ |
41 | -idirafter $(OBJTREE)/include \ | |
93e14596 | 42 | -I $(SRCTREE)/lib/libfdt \ |
f578a2da MS |
43 | -I $(SRCTREE)/tools \ |
44 | -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES | |
f578a2da MS |
45 | |
46 | ifeq ($(MTD_VERSION),old) | |
d984fed0 | 47 | HOSTCPPFLAGS += -DMTD_OLD |
f578a2da MS |
48 | endif |
49 | ||
50 | all: $(BINS) | |
51 | ||
52 | $(obj)imls: $(obj)imls.o $(obj)crc32.o $(obj)image.o $(obj)md5.o \ | |
53 | $(obj)sha1.o $(LIBFDT_OBJS) | |
d984fed0 | 54 | $(CC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^ |
f578a2da MS |
55 | $(STRIP) $@ |
56 | ||
b75a2dde | 57 | # Some files complain if compiled with -pedantic, use HOSTCFLAGS_NOPED |
f578a2da | 58 | $(obj)image.o: $(SRCTREE)/common/image.c |
d984fed0 | 59 | $(CC) -g $(HOSTCFLAGS_NOPED) -c -o $@ $< |
f578a2da | 60 | |
d984fed0 SW |
61 | $(obj)imls.o: $(SRCTREE)/tools/imls/imls.c |
62 | $(CC) -g $(HOSTCFLAGS_NOPED) -c -o $@ $< | |
f578a2da MS |
63 | |
64 | # Some of the tool objects need to be accessed from outside the tools/imls directory | |
65 | $(obj)%.o: $(SRCTREE)/common/%.c | |
d984fed0 | 66 | $(CC) -g $(HOSTCFLAGS_NOPED) -c -o $@ $< |
f578a2da | 67 | |
78acc472 | 68 | $(obj)%.o: $(SRCTREE)/lib/%.c |
d984fed0 | 69 | $(CC) -g $(HOSTCFLAGS) -c -o $@ $< |
f578a2da | 70 | |
0de71d50 | 71 | $(obj)%.o: $(SRCTREE)/lib/libfdt/%.c |
d984fed0 | 72 | $(CC) -g $(HOSTCFLAGS_NOPED) -c -o $@ $< |
f578a2da MS |
73 | |
74 | clean: | |
75 | rm -rf *.o imls | |
76 | ||
77 | ######################################################################### | |
78 | ||
79 | # defines $(obj).depend target | |
80 | include $(SRCTREE)/rules.mk | |
81 | ||
82 | sinclude $(obj).depend | |
83 | ||
84 | ######################################################################### |