2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-12 21:26:37 +08:00
artiq/soc/runtime/Makefile

78 lines
1.9 KiB
Makefile
Raw Normal View History

2014-07-04 23:49:08 +08:00
include $(MSCDIR)/software/common.mak
OBJECTS := isr.o clock.o rtiocrg.o flash_storage.o mailbox.o \
session.o log.o moninj.o net_server.o bridge_ctl.o \
ksupport_data.o kloader.o test_mode.o main.o
OBJECTS_KSUPPORT := ksupport.o artiq_personality.o mailbox.o \
bridge.o rtio.o ttl.o dds.o
2014-07-04 23:49:08 +08:00
CFLAGS += -I$(MSCDIR)/software/include/dyld \
-I$(MSCDIR)/software/unwinder/include \
-I$(MSCDIR)/software/libunwind \
-Ilwip/src/include -Iliblwip
2015-04-22 15:01:32 +08:00
2015-04-15 14:05:34 +08:00
all: runtime.bin runtime.fbi
2014-07-04 23:49:08 +08:00
# pull in dependency info for *existing* .o files
-include $(OBJECTS:.o=.d)
%.bin: %.elf
$(OBJCOPY) -O binary $< $@
@chmod -x $@
2014-07-04 23:49:08 +08:00
%.fbi: %.bin
2015-04-15 14:05:34 +08:00
@echo " MSCIMG " $@ && $(MSCDIR)/mkmscimg.py -f -o $@ $<
2014-07-04 23:49:08 +08:00
runtime.elf: $(OBJECTS) libs
$(LD) $(LDFLAGS) \
-T runtime.ld \
2014-07-04 23:49:08 +08:00
-N -o $@ \
$(MSCDIR)/software/libbase/crt0-$(CPU).o \
$(OBJECTS) \
-L$(MSCDIR)/software/libbase \
-L$(MSCDIR)/software/libcompiler-rt \
2015-04-17 16:38:46 +08:00
-Lliblwip \
-lbase -lcompiler-rt -llwip
@chmod -x $@
ksupport.elf: $(OBJECTS_KSUPPORT) libs
$(LD) $(LDFLAGS) \
--eh-frame-hdr \
-T ksupport.ld \
-N -o $@ \
$(MSCDIR)/software/libbase/crt0-$(CPU).o \
$(OBJECTS_KSUPPORT) \
-L$(MSCDIR)/software/libbase \
-L$(MSCDIR)/software/libcompiler-rt \
-L$(MSCDIR)/software/libunwind \
-L$(MSCDIR)/software/libdyld \
-lbase -lcompiler-rt -lunwind -ldyld
@chmod -x $@
ksupport_data.o: ksupport.elf
$(LD) -r -b binary -o $@ $<
2014-07-04 23:49:08 +08:00
main.o: main.c
$(compile-dep)
%.o: %.c
$(compile-dep)
%.o: %.S
$(assemble)
libs:
$(MAKE) -C $(MSCDIR)/software/libcompiler-rt
$(MAKE) -C $(MSCDIR)/software/libunwind
2014-07-04 23:49:08 +08:00
$(MAKE) -C $(MSCDIR)/software/libbase
$(MAKE) -C $(MSCDIR)/software/libdyld
2015-04-17 16:38:46 +08:00
$(MAKE) -C liblwip
2014-07-04 23:49:08 +08:00
clean:
2015-04-17 16:38:46 +08:00
$(MAKE) -C liblwip clean
$(RM) $(OBJECTS) $(OBJECTS:.o=.d) $(OBJECTS_KSUPPORT) $(OBJECTS_KSUPPORT:.o=.d)
$(RM) runtime.elf runtime.bin runtime.fbi .*~ *~
$(RM) ksupport.elf ksupport.bin
2014-07-04 23:49:08 +08:00
.PHONY: all main.o clean libs load