| 1 | ### -*-makefile-*- |
| 2 | |
| 3 | V = 0 |
| 4 | vcond = $(call vcond_$V,$1,$2) |
| 5 | vcond_0 = $1 |
| 6 | vcond_1 = $2 |
| 7 | V_AT = $(call vcond,@) |
| 8 | vtag = \ |
| 9 | $(call vcond,@printf " %-8s %s\n" "$1" "$(or $2,$@)";) |
| 10 | |
| 11 | CC = gcc -m64 |
| 12 | CFLAGS = -O2 -g -Wall -Werror |
| 13 | |
| 14 | AS = gcc -m64 |
| 15 | ASFLAGS = -O2 -g |
| 16 | |
| 17 | LD = gcc -m64 |
| 18 | LDFLAGS = |
| 19 | |
| 20 | %.o: %.c |
| 21 | $(call vtag,CC)$(CC) -c -o $@ $(CFLAGS) $< |
| 22 | |
| 23 | %.o: %.S |
| 24 | $(call vtag,AS)$(AS) -c -o $@ $(ASFLAGS) $< |
| 25 | |
| 26 | all:: xchg |
| 27 | xchg: xchg.o main.o |
| 28 | $(call vtag,LD)$(LD) -o $@ $^ |
| 29 | |
| 30 | clean::; rm -f xchg *.o |