Add linux_firmware sample app for zynq7
[processor-sdk/open-amp.git] / apps / linux_firmware_remoteproc_slave / Makefile
2 include $(SRCROOT)/Makefile.common
4 PBUILD := $(BUILD)
5 BUILD := $(PBUILD)/$(shell basename $(CURDIR))
6 BUILDSHARE := $(PBUILD)/share
8 BOOTSTRAP_OUT := $(BUILDSHARE)/lnx_firmware
10 BOOTSTRAP_SRCS := boot.c rsc_table.c
12 ifneq ($(MACHINE),zynq7)
13 $(warning "Machine $(MACHINE) is not supported by this app $(shell basename $(CURDIR))")
14 all:
16 clean:
17 else
19 ifeq ($(wildcard $(BUILDROOT)/libs/image.ub),)
20 all:
22 clean:
23 else
25 BOOTSTRAP_AS_SRCS := boot_wrapper_$(MACHINE).S
27 BOOTSTRAP_OBJS := $(patsubst %.c,$(BUILD)/%.o,$(BOOTSTRAP_SRCS)) $(patsubst %.S,$(BUILD)/%.o,$(BOOTSTRAP_AS_SRCS))
29 LINKERSCRIPT := link_remote.ld
31 ifeq ($(EXTRA_INCLUDES),)
32 EXTRA_INCLUDES += -I"$(OHOME)/obsolete/system/$(SYSTEM)/machine/$(MACHINE)/linux_firmware"
33 endif
35 CFLAGS += $(EXTRA_INCLUDES)
37 all: $(BOOTSTRAP_OUT)
38         cp $(BOOTSTRAP_OUT) $(BUILD)/firmware1
39         cd $(BUILD) && $(CROSS)objcopy -I binary -O elf32-littlearm -B arm firmware1 $(BUILDSHARE)/firmware1.o
40         cp $(BOOTSTRAP_OUT) $(BUILD)/firmware2
41         cd $(BUILD) && $(CROSS)objcopy -I binary -O elf32-littlearm -B arm firmware2 $(BUILDSHARE)/firmware2.o
43 $(BOOTSTRAP_OUT): $(BUILDSHARE) $(BOOTSTRAP_OBJS)
45         @echo 'Building linux aggregate image : $@'
47         $(LD)  -nostartfiles -T"$(LINKERSCRIPT)" $(LDFLAGS) -o "$(BOOTSTRAP_OUT)" -Wl,--start-group $(BOOTSTRAP_OBJS) -lc -lm -lstdc++ -lzlib -lfdt -Wl,--end-group
49         @echo 'Finished building target: $@'
51 $(BUILD)/%.o: %.c
52         mkdir -p $(dir $@)
53         @echo CC $(<:.c=.o)
54         $(CC) $(CFLAGS) $(ARCH_CFLAGS) $(INCLUDE) -c $< -o $@
56 $(BUILD)/%.o: $(CURDIR)/%.S $(BUILD)/image.ub
57         mkdir -p $(dir $@)
58         @echo AS $(<:.S=.o)
59         cd $(BUILD); \
60         $(AS) $(ASFLAGS) $(INCLUDE) $< -o $@
62 $(BUILD) $(BUILDSHARE):
63         mkdir -p $@
65 $(BUILD)/image.ub:
66         cp $(BUILDROOT)/libs/image.ub $@
67 clean:
68         rm -rf $(BUILD) $(BOOTSTRAP_OUT)
70 PHONY: all clean
72 endif
73 endif