include common/Makefile.common
-ifeq ($(DETECTED_OS),Linux)
-HOST_BINARY=linux
-else
-HOST_BINARY=winsrc
-endif
-
-all clean: %: bootrom/% armsrc/% $(HOST_BINARY)/%
+all clean: %: bootrom/% armsrc/% client/%
bootrom/%: FORCE
$(MAKE) -C bootrom $(patsubst bootrom/%,%,$@)
armsrc/%: FORCE
$(MAKE) -C armsrc $(patsubst armsrc/%,%,$@)
-linux/%: FORCE
- $(MAKE) -C linux $(patsubst linux/%,%,$@)
-winsrc/%: FORCE
- $(MAKE) -C winsrc $(patsubst winsrc/%,%,$@)
+client/%: FORCE
+ $(MAKE) -C client $(patsubst client/%,%,$@)
FORCE: # Dummy target to force remake in the subdirectories, even if files exist (this Makefile doesn't know about the prerequisites)
$(OBJDIR)/fpga.o: fpga.bit\r
$(OBJCOPY) -O elf32-littlearm -I binary -B arm --redefine-sym _binary____fpga_fpga_bit_start=_binary_fpga_bit_start --redefine-sym _binary____fpga_fpga_bit_end=_binary_fpga_bit_end --prefix-sections=fpga_bit $^ $@\r
\r
-$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga.o $(THUMBOBJ) $(ARMOBJ) $(ARMLIB)/libgcc.a\r
+$(OBJDIR)/fullimage.elf: $(VERSIONOBJ) $(OBJDIR)/fpga.o $(THUMBOBJ) $(ARMOBJ) $(LIBGCC)\r
$(LD) -g -Tldscript -Map=$(patsubst %.elf,%.map,$@) -o $@ $^\r
\r
$(OBJDIR)/fpgaimage.elf: $(OBJDIR)/fullimage.elf\r
# (The including Makefile still needs to define what 'all' is)
all:
+CROSS = arm-elf-
+CC = $(CROSS)gcc
+AS = $(CROSS)as
+LD = $(CROSS)ld
+OBJCOPY = $(CROSS)objcopy
+
+OBJDIR = obj
+
+INCLUDE = -I../include
+
# Windows' echo echos its input verbatim, on Posix there is some
# amount of shell command line parsing going on. echo "" on
# Windows yields literal "", on Linux yields an empty line
# This is probably a proper system, so we can use uname
UNAME := $(shell uname)
-ifeq ($(UNAME), Linux)
-# Linux. (Todo: Add MacOS X if appropriate)
DELETE=rm -rf
MOVE=mv
COPY=cp
PATHSEP=/
-FLASH_TOOL=linux/flasher
-DETECTED_OS=Linux
+FLASH_TOOL=client/flasher
+DETECTED_OS=UNAME
# You may/should set this in your environment
-ARMLIB ?= /usr/local/lib/gcc/arm-elf/4.3.3/interwork
-endif
+LIBGCC ?= $(shell $(CC) -print-libgcc-file-name)
else
MOVE=ren
COPY=copy
PATHSEP=\\#
-ARMLIB ?= ../../devkitARM/lib/gcc/arm-elf/4.1.0/interwork
+LIBGCC ?= ../../devkitARM/lib/gcc/arm-elf/4.1.0/interwork/libgcc.a
FLASH_TOOL=winsrc\\prox.exe
DETECTED_OS=Windows
endif
-CROSS = arm-elf-
-CC = $(CROSS)gcc
-AS = $(CROSS)as
-LD = $(CROSS)ld
-OBJCOPY = $(CROSS)objcopy
-
-OBJDIR = obj
-
-INCLUDE = -I../include
# Also search prerequisites in the common directory (for usb.c), and the fpga directory (for fpga.bit)
VPATH = . ../common/ ../fpga/