# # Subdirectory makefiles do some setup, then we get here # # Tool helpers SPECFLAGS =-B${RTEMS_MAKEFILE_PATH}/lib/ -specs=bsp_specs -qrtems CFLAGS = $(CPU_CFLAGS) # GEN5200 Specific Information ifeq ($(RTEMS_BSP_FAMILY),gen5200) LINKARGS+=-qnolinkcmds -T$(RTEMS_LINKCMDS) endif # PC386 Specific Information ifeq ($(RTEMS_BSP_FAMILY),pc386) HEADERADDR=0x00097E00 START16FILE=$(RTEMS_MAKEFILE_PATH)/lib/start16.bin START16ADDR=0x00097C00 RELOCADDR=0x00100000 LINKARGS+= -Wl,-Ttext,$(RELOCADDR) endif # Some tests need to be able to do a gethostbyname ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes) CLEAN_ADDITIONS += FilesystemImage FilesystemImage.c FilesystemImage.h FILESYSTEM_OBJS = FilesystemImage.o FILESYSTEM_SRCS = FilesystemImage.h CFLAGS += -DENABLE_UNTAR_ROOT_FILESYSTEM -I. endif ifeq ($(NEED_NETWORK),yes) #NETWORK_HFILE= ../networkconfig_$(RTEMS_BSP).h #NETWORK_HFILE= ../networkconfig.h endif DEFINES += -D$(RTEMS_BSP) CFLAGS += $(DEFINES) RTS= --RTS=$(shell $(CC) -print-multi-directory $(CFLAGS)) all: $(PROGRAM).exe joel: @echo CFLAGS=$(CFLAGS) @echo CC=$(CC) @echo RTS=$(RTS) $(CC) -print-multi-directory $(CFLAGS) $(CC) -mcpu=403 -print-multi-directory $(PROGRAM).exe: rtems_init.o $(FILESYSTEM_OBJS) $(EXTRA_OBJS) $(AS:as=gnatmake) -g -v $(EXTRA_GNATFLAGS) \ -I$(RTEMS_MAKEFILE_PATH)/lib/include/adainclude \ -O -gnata -gnatE -gnato -g $(PROGRAM) -o $(@) \ -bargs -Mgnat_main \ -largs $(SPECFLAGS) $(CFLAGS) $(LINKARGS) \ rtems_init.o $(FILESYSTEM_OBJS) \ $(EXTRA_OBJS) ifeq ($(RTEMS_BSP_FAMILY),pc386) $(OBJCOPY) -O binary $(@) $(@).bin $(RTEMS_MAKEFILE_PATH)/build-tools/bin2boot -v $(@).bt $(HEADERADDR) \ $(START16FILE) $(START16ADDR) 0 $(@).bin $(RELOCADDR) 0 endif ifeq ($(RTEMS_BSP),icecube) $(OBJCOPY) -R -S -O binary obj/$(PROGRAM) obj/$(PROGRAM).bin cat obj/$(PROGRAM).bin | gzip -9 >obj/$(PROGRAM).gz mkimage \ -A ppc -O rtems -T kernel -a 0x40000 -e 0x40000 -n "RTEMS" \ -d obj/$(PROGRAM).gz obj/$(PROGRAM).img cp obj/$(PROGRAM).img ../../../../tftpboot/main.img rm -f obj/$(PROGRAM).gz obj/$(PROGRAM).img endif rtems_init.o: ../rtems_init.c $(FILESYSTEM_SRCS) $(NETWORK_HFILE) $(CC) $(CFLAGS) -I. $(CPU_CFLAGS) -c $< ifeq ($(NEED_ROOTFS_FOR_HOST_INFO),yes) FilesystemImage: ../rootfs/etc/host.conf ../rootfs/etc/hosts (cd ../rootfs ; tar cf - \ --exclude CVS --exclude .cvsignore --exclude .svn .) >$(@) FilesystemImage.c FilesystemImage.h: FilesystemImage $(PROJECT_ROOT)/bin/rtems-bin2c FilesystemImage FilesystemImage FilesystemImage.o: FilesystemImage.c $(CC) $(CFLAGS) $(CPU_CFLAGS) -c $< endif clean: rm -f obj/* rm -f b~*.* *.o *.ali $(PROGRAM) rm -f *.num *.exe *.obj *.bin *.bt *.gba