1
0
mirror of https://github.com/parasyte/alt64 synced 2024-10-31 23:35:00 -04:00
alt64/Makefile

66 lines
2.0 KiB
Makefile
Raw Normal View History

2017-10-06 09:48:52 -04:00
#
# Copyright (c) 2017 The Altra64 project contributors
2017-10-06 09:48:52 -04:00
# See LICENSE file in the project root for full license information.
#
ROOTDIR = $(N64_INST)
GCCN64PREFIX = $(ROOTDIR)/bin/mips64-elf-
CHKSUM64PATH = $(ROOTDIR)/bin/chksum64
MKDFSPATH = $(ROOTDIR)/bin/mkdfs
N64TOOL = $(ROOTDIR)/bin/n64tool
HEADERNAME = header.ed64
HEADERTITLE = "EverDrive OS"
2014-06-29 01:10:11 -04:00
SRCDIR = ./src
INCDIR = ./inc
RESDIR = ./res
OBJDIR = ./obj
BINDIR = ./bin
TOOLSDIR = ./tools
2014-06-29 01:10:11 -04:00
<<<<<<< HEAD
LINK_FLAGS = -O1 -L$(ROOTDIR)/lib -L$(ROOTDIR)/mips64-elf/lib -ldragon -lmad -lmikmod -lyaml -lc -lm -ldragonsys -lnosys $(LIBS) -Tn64ld.x
=======
LINK_FLAGS = -O1 -L$(ROOTDIR)/lib -L$(ROOTDIR)/mips64-elf/lib -ldragon -lmad -lyaml -lc -lm -ldragonsys -lnosys $(LIBS) -Tn64ld.x
>>>>>>> 3733e676f9e52632f1015a86a8e422e54fc18f22
PROG_NAME = OS64P
CFLAGS = -std=gnu99 -march=vr4300 -mtune=vr4300 -O1 -I$(INCDIR) -I$(ROOTDIR)/include -I$(ROOTDIR)/mips64-elf/include -lpthread -lrt -D_REENTRANT -DUSE_TRUETYPE $(SET_DEBUG)
2014-06-29 01:10:11 -04:00
ASFLAGS = -mtune=vr4300 -march=vr4300
CC = $(GCCN64PREFIX)gcc
AS = $(GCCN64PREFIX)as
LD = $(GCCN64PREFIX)ld
2014-06-29 01:10:11 -04:00
OBJCOPY = $(GCCN64PREFIX)objcopy
SOURCES := $(wildcard $(SRCDIR)/*.c)
OBJECTS = $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
2014-06-29 01:10:11 -04:00
$(PROG_NAME).v64: $ $(PROG_NAME).elf $(PROG_NAME).dfs
2021-09-23 19:52:42 -04:00
$(OBJCOPY) $(BINDIR)/$(PROG_NAME).elf $(BINDIR)/$(PROG_NAME).bin -O binary
rm -f $(BINDIR)/$(PROG_NAME).v64
2021-09-23 19:52:42 -04:00
$(N64TOOL) -l 4M -t $(HEADERTITLE) -h $(RESDIR)/$(HEADERNAME) -o $(BINDIR)/$(PROG_NAME).v64 $(BINDIR)/$(PROG_NAME).bin -s 1M $(BINDIR)/$(PROG_NAME).dfs
$(CHKSUM64PATH) $(BINDIR)/$(PROG_NAME).v64
2021-09-23 19:52:42 -04:00
$(PROG_NAME).elf : $(OBJECTS)
@mkdir -p $(BINDIR)
$(LD) -o $(BINDIR)/$(PROG_NAME).elf $(OBJECTS) $(LINK_FLAGS)
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
@mkdir -p $(OBJDIR)
$(CC) $(CFLAGS) -c $< -o $@
copy: $(PROG_NAME).v64
sh $(TOOLSDIR)/upload.sh
2014-06-29 01:10:11 -04:00
$(PROG_NAME).dfs:
$(MKDFSPATH) $(BINDIR)/$(PROG_NAME).dfs $(RESDIR)/filesystem/
2014-06-29 01:10:11 -04:00
all: $(PROG_NAME).v64
2014-06-29 01:10:11 -04:00
debug: $(PROG_NAME).v64
debug: SET_DEBUG=-DDEBUG
2014-06-29 01:10:11 -04:00
clean:
rm -f $(BINDIR)/*.v64 $(BINDIR)/*.elf $(OBJDIR)/*.o $(BINDIR)/*.bin $(BINDIR)/*.dfs