From d40ae99422e118188a7f48055dc340c6aca022aa Mon Sep 17 00:00:00 2001 From: Kitty Draper Date: Sat, 5 Mar 2011 21:39:25 -0500 Subject: first commit --- Makefile | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..15964c3 --- /dev/null +++ b/Makefile @@ -0,0 +1,121 @@ +#1-0---------------------------------------------------------------------------- + +DS2SDKPATH :=/opt/ds2sdk + +#The name final target +TARGET := CATSFC +#The directory where object files & intermediate files will be placed +BUILD := build + +#1-1---------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(OUTPUT).plg + +#--------------------------------------------------------------------------------- + +#1-1---------------------------------------------------------------------------- +else +#------------------------------------------------------------------------------- + +# CROSS :=# +CROSS := /opt/mipsel-4.1.2-nopic/bin/ + +CC = $(CROSS)mipsel-linux-gcc +AR = $(CROSS)mipsel-linux-ar rcsv +LD = $(CROSS)mipsel-linux-ld +OBJCOPY = $(CROSS)mipsel-linux-objcopy +NM = $(CROSS)mipsel-linux-nm +OBJDUMP = $(CROSS)mipsel-linux-objdump + +TOPDIR = ./.. +SFCDIR = $(TOPDIR)/source + +FS_DIR = $(DS2SDKPATH)/libsrc/fs +CONSOLE_DIR = $(DS2SDKPATH)/libsrc/console +KEY_DIR = $(DS2SDKPATH)/libsrc/key +ZLIB_DIR = $(DS2SDKPATH)/libsrc/zlib + +SRC := + + +SSRC := + +LIBS := $(DS2SDKPATH)/lib/libds2b.a -lc -lm -lgcc +EXTLIBS := $(DS2SDKPATH)/lib/libds2a.a + +INC := -I$(DS2SDKPATH)/include -I$(FS_DIR) -I$(CONSOLE_DIR) -I$(KEY_DIR) -I$(ZLIB_DIR) + +CFLAGS := -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin \ + -fno-exceptions -ffunction-sections -mlong-calls\ + -fomit-frame-pointer -msoft-float -G 4 + + + +LINKS := $(DS2SDKPATH)/specs/link.xn +STARTS := $(DS2SDKPATH)/specs/start.S +STARTO := start.o + +include $(SFCDIR)/sfc.mk + +OBJS := $(addsuffix .o , $(basename $(notdir $(SRC)))) +SOBJS := $(addsuffix .o , $(basename $(notdir $(SSRC)))) + +# OBJS := $(SRC:.c=.o) +# SOBJS := $(SSRC:.S=.o) + + +APP := sfc.elf + + +all: $(APP) + @echo $(INC) + $(OBJCOPY) -O binary $(APP) sfc.dat + $(OBJDUMP) -d $(APP) > sfc.dump + $(NM) $(APP) | sort > sfc.sym + $(OBJDUMP) -h $(APP) > sfc.map + $(DS2SDKPATH)/tools/makeplug sfc.dat $(OUTPUT).plg + +$(APP): depend $(SOBJS) $(OBJS) $(STARTO) $(LINKS) $(EXTLIBS) + $(CC) -nostdlib -static -T $(LINKS) -o $@ $(STARTO) $(SOBJS) $(OBJS) $(EXTLIBS) $(LIBS) + +$(EXTLIBS): + make -C $(DS2SDKPATH)/source/ + +$(STARTO): + $(CC) $(CFLAGS) $(INC) -o $@ -c $(STARTS) + +.c.o: + $(CC) $(CFLAGS) $(INC) -o $@ -c $< +.cpp.o: + $(CC) $(CFLAGS) $(INC) -fno-rtti -o $@ -c $< +.S.o: + $(CC) $(CFLAGS) $(INC) -D_ASSEMBLER_ -D__ASSEMBLY__ -o $@ -c $< + +clean: + rm -fr *.o $(OBJS) $(OTHER) *.bin *.sym *.map *.dump *.lib + rm depend + +# depend: Makefile $(OBJS:.o=.c) $(SOBJS:.o=.S) + +depend: Makefile + $(CC) -MM $(CFLAGS) $(INC) $(SSRC) $(SRC) > $@ + +sinclude depend + +#1-1---------------------------------------------------------------------------- +endif +#------------------------------------------------------------------------------- -- cgit v1.2.3