mirror of
https://github.com/m-labs/artiq.git
synced 2024-12-05 09:46:36 +08:00
Sebastien Bourdeauducq
938e1c2842
The only advantage of UP is to support the Papilio Pro, but that port is also very limited in other ways and the Pipistrello provides a more reasonable platform that also supports AMP. On the other hand, RPCs on UP are difficult to implement with the session.c protocol system (without an operating system or coroutines), along with many other minor difficulties and maintainance issues. Planned features such as watchdogs in the core device are also difficult on UP.
69 lines
1.6 KiB
Makefile
69 lines
1.6 KiB
Makefile
include $(MSCDIR)/software/common.mak
|
|
|
|
OBJECTS := isr.o flash_storage.o elf_loader.o services.o session.o log.o test_mode.o kloader.o mailbox.o ksupport_data.o main.o
|
|
OBJECTS_KSUPPORT := ksupport.o exception_jmp.o exceptions.o mailbox.o bridge.o rtio.o dds.o
|
|
|
|
CFLAGS += -Ilwip/src/include -Iliblwip
|
|
|
|
all: runtime.bin runtime.fbi
|
|
|
|
# pull in dependency info for *existing* .o files
|
|
-include $(OBJECTS:.o=.d)
|
|
|
|
%.bin: %.elf
|
|
$(OBJCOPY) -O binary $< $@
|
|
@chmod -x $@
|
|
|
|
%.fbi: %.bin
|
|
@echo " MSCIMG " $@ && $(MSCDIR)/mkmscimg.py -f -o $@ $<
|
|
|
|
runtime.elf: $(OBJECTS) libs
|
|
$(LD) $(LDFLAGS) \
|
|
-T linker.ld \
|
|
-N -o $@ \
|
|
$(MSCDIR)/software/libbase/crt0-$(CPU).o \
|
|
$(OBJECTS) \
|
|
-L$(MSCDIR)/software/libbase \
|
|
-L$(MSCDIR)/software/libcompiler-rt \
|
|
-Lliblwip \
|
|
-lbase -lcompiler-rt -llwip
|
|
@chmod -x $@
|
|
|
|
ksupport.elf: $(OBJECTS_KSUPPORT)
|
|
$(LD) $(LDFLAGS) \
|
|
-T ksupport.ld \
|
|
-N -o $@ \
|
|
$(MSCDIR)/software/libbase/crt0-$(CPU).o \
|
|
$^
|
|
@chmod -x $@
|
|
|
|
ksupport_data.o: ksupport.bin
|
|
$(LD) -r -b binary -o $@ $<
|
|
|
|
service_table.h: ksupport.elf gen_service_table.py
|
|
@echo " GEN " $@ && ./gen_service_table.py ksupport.elf > $@
|
|
|
|
services.c: service_table.h
|
|
|
|
main.o: main.c
|
|
$(compile-dep)
|
|
|
|
%.o: %.c
|
|
$(compile-dep)
|
|
|
|
%.o: %.S
|
|
$(assemble)
|
|
|
|
libs:
|
|
$(MAKE) -C $(MSCDIR)/software/libcompiler-rt
|
|
$(MAKE) -C $(MSCDIR)/software/libbase
|
|
$(MAKE) -C liblwip
|
|
|
|
clean:
|
|
$(MAKE) -C liblwip clean
|
|
$(RM) $(OBJECTS) $(OBJECTS:.o=.d) $(OBJECTS_KSUPPORT) $(OBJECTS_KSUPPORT:.o=.d)
|
|
$(RM) runtime.elf runtime.bin runtime.fbi .*~ *~
|
|
$(RM) service_table.h ksupport.elf ksupport.bin
|
|
|
|
.PHONY: all main.o clean libs load
|