| 1 | include config.mak |
| 2 | VPATH=$(SRC_DIR) |
| 3 | all: vof.bin |
| 4 | |
| 5 | NULL := |
| 6 | SPACE := $(NULL) # |
| 7 | TARGET_PREFIX := $(patsubst %/,%:$(SPACE),$(TARGET_DIR)) |
| 8 | |
| 9 | quiet-@ = $(if $(V),,@$(if $1,,printf "%s\n" "$(TARGET_PREFIX)$1" && )) |
| 10 | quiet-command = $(call quiet-@,$2 $@)$1 |
| 11 | |
| 12 | EXTRA_CFLAGS += -mcpu=power4 |
| 13 | |
| 14 | %.o: %.S |
| 15 | $(call quiet-command, $(CC) $(EXTRA_CFLAGS) -c -o $@ $<,Assembling) |
| 16 | |
| 17 | %.o: %.c |
| 18 | $(call quiet-command, $(CC) $(EXTRA_CFLAGS) -c -fno-stack-protector -o $@ $<,Compiling) |
| 19 | |
| 20 | vof.elf: entry.o main.o ci.o bootmem.o libc.o |
| 21 | $(call quiet-command, $(LD) -nostdlib -e_start -T$(SRC_DIR)/vof.lds -EB -o $@ $^,Linking) |
| 22 | |
| 23 | %.bin: %.elf |
| 24 | $(call quiet-command, $(OBJCOPY) -O binary -j .text -j .data -j .toc -j .got2 $^ $@,Extracting raw object) |
| 25 | |
| 26 | clean: |
| 27 | rm -f *.o vof.bin vof.elf *~ |
| 28 | |
| 29 | distclean: clean |
| 30 | |
| 31 | .PHONY: all clean distclean |