-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprog_rules.mk
More file actions
28 lines (21 loc) · 744 Bytes
/
prog_rules.mk
File metadata and controls
28 lines (21 loc) · 744 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PROG_RUN = $(addprefix run-,$(PROG))
PROG_TAGS = $(addsuffix /$(TAGSFILE),$(PROGDIRS))
.PHONY : $(PROG_RUN)
$(PROG_RUN) : run-% : $(OBJDIR)/%.gba
$(EMU) $<
.PHONY : $(PROG)
$(PROG) : % : $(OBJDIR)/%.gba
$(OBJDIR)/%.gba : $(OBJDIR)/%.elf
$(OBJCOPY) -v -O binary $< $@
$(GBAFIX) $@
.SECONDEXPANSION:
$(OBJDIR)/%.elf : $(OBJDIR)/$$*-$$(subst .c,.o,$$($$*_CSOURCES)) $(LIB_OBJECTS)
$(LD) $(LDFLAGS) $^ -o $@
.SECONDEXPANSION:
$(OBJDIR)/%.o : $(PROGDIR)/$$(subst -,/,$$*.c)
$(CC) $(CFLAGS) $(ARCH_THUMB) -c $< -o $@
.SECONDEXPANSION:
$(OBJDIR)/%.arm.o : $(PROGDIR)/$$(subst -,/,$$*.arm.c)
$(CC) $(CFLAGS) $(ARCH_ARM) -c $< -o $@
$(PROG_TAGS) :: %/TAGS :
$(TAGSCMD) $(TAGSFLAGS) -i $(CURDIR)/$(LIB_TAGS) -o $@ $*/*.c $*/*.h 2>/dev/null