|
- #
- # !!!! Do NOT edit this makefile with an editor which replace tabs by spaces !!!!
- #
- ##############################################################################################
- #
- # On command line:
- #
- # make all = Create project
- #
- # make clean = Clean project files.
- #
- # To rebuild project do "make clean" and "make all".
- #
-
- ##############################################################################################
- # Start of default section
- #
-
- TRGT = arm-elf-
- CC = $(TRGT)gcc
- CP = $(TRGT)objcopy
- AS = $(TRGT)gcc -x assembler-with-cpp
- BIN = $(CP) -O ihex
-
- MCU = arm7tdmi
-
- # List all default C defines here, like -D_DEBUG=1
- DDEFS =
-
- # List all default ASM defines here, like -D_DEBUG=1
- DADEFS =
-
- # List all default directories to look for include files here
- DINCDIR =
-
- # List the default directory to look for the libraries here
- DLIBDIR =
-
- # List all default libraries here
- DLIBS =
-
- #
- # End of default section
- ##############################################################################################
-
- ##############################################################################################
- # Start of user section
- #
-
- # Define project name here
- PROJECT = test
-
- # Define linker script file here
- LDSCRIPT_RAM = ./prj/hitex_str7_ram.ld
- LDSCRIPT_ROM = ./prj/hitex_str7_rom.ld
-
- # List all user C define here, like -D_DEBUG=1
- UDEFS =
-
- # Define ASM defines here
- UADEFS =
-
- # List C source files here
- SRC = ./src/main.c
-
- # List ASM source files here
- ASRC = ./src/crt.s
-
- # List all user directories here
- UINCDIR = ./inc
-
- # List the user directory to look for the libraries here
- ULIBDIR =
-
- # List all user libraries here
- ULIBS =
-
- # Define optimisation level here
- OPT = -O0
-
- #
- # End of user defines
- ##############################################################################################
-
-
- INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR))
- LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
- DEFS = $(DDEFS) $(UDEFS)
- ADEFS = $(DADEFS) $(UADEFS)
- OBJS = $(ASRC:.s=.o) $(SRC:.c=.o)
- LIBS = $(DLIBS) $(ULIBS)
- MCFLAGS = -mcpu=$(MCU)
-
- ASFLAGS = $(MCFLAGS) -g -gdwarf-2 -Wa,-amhls=$(<:.s=.lst) $(ADEFS)
- CPFLAGS = $(MCFLAGS) $(OPT) -gdwarf-2 -mthumb-interwork -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm -Wa,-ahlms=$(<:.c=.lst) $(DEFS)
- LDFLAGS_RAM = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT_RAM) -Wl,-Map=$(PROJECT)_ram.map,--cref,--no-warn-mismatch $(LIBDIR)
- LDFLAGS_ROM = $(MCFLAGS) -nostartfiles -T$(LDSCRIPT_ROM) -Wl,-Map=$(PROJECT)_rom.map,--cref,--no-warn-mismatch $(LIBDIR)
-
- # Generate dependency information
- CPFLAGS += -MD -MP -MF .dep/$(@F).d
-
- #
- # makefile rules
- #
-
- all: RAM ROM
-
- RAM: $(OBJS) $(PROJECT)_ram.elf $(PROJECT)_ram.hex
-
- ROM: $(OBJS) $(PROJECT)_rom.elf $(PROJECT)_rom.hex
-
- %o : %c
- $(CC) -c $(CPFLAGS) -I . $(INCDIR) $< -o $@
-
- %o : %s
- $(AS) -c $(ASFLAGS) $< -o $@
-
- %ram.elf: $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS_RAM) $(LIBS) -o $@
-
- %rom.elf: $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS_ROM) $(LIBS) -o $@
-
- %hex: %elf
- $(BIN) $< $@
-
- clean:
- -rm -f $(OBJS)
- -rm -f $(PROJECT)_ram.elf
- -rm -f $(PROJECT)_ram.map
- -rm -f $(PROJECT)_ram.hex
- -rm -f $(PROJECT)_rom.elf
- -rm -f $(PROJECT)_rom.map
- -rm -f $(PROJECT)_rom.hex
- -rm -f $(SRC:.c=.c.bak)
- -rm -f $(SRC:.c=.lst)
- -rm -f $(ASRC:.s=.s.bak)
- -rm -f $(ASRC:.s=.lst)
- -rm -fR .dep
-
- #
- # Include the dependency files, should be the last of the makefile
- #
- -include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
-
- # *** EOF ***
|