⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 DC的SEGA_GG模拟器源代码
💻
字号:
#
# SMS Plus
# Copyright (C) 1998, 1999, 2000  Charles Mac Donald
#
# Define LSB_FIRST for little endian systems.
# Define ALIGN_DWORD if you need aligned 32-bit memory transfers.
#


# Executable and archive name
NAME	=	sp

# Target platform (dos, psx)
SYSTEM	=       dos
#SYSTEM	=	psx

# Debug flags
FLAGS	=	#-Wall -Werror

# DOS specific stuff
ifeq ($(SYSTEM), dos)
CC	=	gcc
AS	=	nasm -f coff
AR	=	ar
LD	=	ld
FLAGS	+=	-DLSB_FIRST -I./dos -DDOS -DX86_ASM -mpentium -O6 -fomit-frame-pointer
LDFLAGS	=	
OBJDIR	=	dos/obj
SYSOBJ	=	$(OBJDIR)/dos.o \
		$(OBJDIR)/sealintf.o \
		$(OBJDIR)/config.o \
		$(OBJDIR)/blit.o \
		$(OBJDIR)/blur.o \
		$(OBJDIR)/expand.o \
		$(OBJDIR)/unzip.o \
		$(OBJDIR)/loadzip.o
LIB	=	-lalleg -laudio -lz
EXE	=	$(NAME).exe
endif

# PSX specific stuff
ifeq ($(SYSTEM), psx)
CC	=	mipsgcc
AS	=	mipsas
AR	=	mipsar
LD	=	mipsld
LDFLAGS	=	-Xlinker -mpsx
FLAGS	+=	-DLSB_FIRST -DALIGN_DWORDS -I./psx -DPSX -O2
OBJDIR	=	psx/obj
SYSOBJ	=	$(OBJDIR)/psx.o
LIB	=	-lpsx
EXE	=	$(NAME).pxe
endif

# Shared data
FLAGS	+=	-I. -I./cpu
SPLIB	=	$(OBJDIR)/$(NAME).a $(OBJDIR)/z80.a

# Object files
OBJ	=       $(OBJDIR)/system.o \
		$(OBJDIR)/sms.o	\
		$(OBJDIR)/vdp.o	\
		$(OBJDIR)/render.o \
		$(OBJDIR)/sn76496.o \
		$(OBJDIR)/fmopl.o \
		$(OBJDIR)/ym2413.o
        
# Main target
all	:	$(EXE)

$(EXE)	:	$(SYSOBJ) $(SPLIB) $(OBJ)
		$(CC) -o $(EXE) $(LDFLAGS) $(SYSOBJ) $(SPLIB) $(LIB)

# Archive file for the mips tools commandline limitation
$(OBJDIR)/$(NAME).a : $(OBJ)		        

# Shared files
$(OBJDIR)/%.o :	%.c %.h
		$(CC) -c $< -o $@ $(FLAGS)
		$(AR) rs $(OBJDIR)/$(NAME).a $@					
	        
# System specific files
$(OBJDIR)/%.o : $(SYSTEM)/%.c $(SYSTEM)/%.h	        
		$(CC) -c $< -o $@ $(FLAGS)
	        
$(OBJDIR)/%.o : $(SYSTEM)/%.s
		$(AS) $< -o $@

# The CPU emulator
$(OBJDIR)/z80.a	: $(OBJDIR)/z80.oa

$(OBJDIR)/z80.oa : cpu/z80.c cpu/z80.h
ifeq ($(SYSTEM), psx)	        
		$(CC) -c cpu/z80.c -o $(OBJDIR)/z80.oa $(FLAGS) -O1
else
		$(CC) -c cpu/z80.c -o $(OBJDIR)/z80.oa $(FLAGS)
endif		
		$(AR) rs $(OBJDIR)/z80.a $(OBJDIR)/z80.oa

# Other targets	        

# Zip up the source code
.PHONY	: archive
ARCFN	= spsrc.zip
STDOP	= -add -max -silent \
	  -excl=*.?xe -excl=*.a -excl=*.o -excl=*.bak -excl=*.oa
archive	:
		@echo Archiving source ...
		@rm -f $(ARCFN)
		pk $(STDOP) $(ARCFN) *.*
		pk $(STDOP) -dir $(ARCFN) dos\*.*
		pk $(STDOP) -dir $(ARCFN) psx\*.*
		pk $(STDOP) -dir $(ARCFN) cpu\*.*

# Compress the executable 
.PHONY	: pack
pack	:
		@echo Packing $< ...
		@strip $(EXE) --strip-all
		@upx -1 $(EXE)	        

# Remove object and debug files
.PHONY	: clean
clean	:	        
		@rm -f $(OBJDIR)/*.o
		@rm -f $(OBJDIR)/$(NAME).a
		@rm -f $(EXE)
		@rm -f *.bak
	        
# Remove the CPU emulator 	        
.PHONY  : cleanlib
cleanlib :
		@rm -f $(OBJDIR)/z80.a
		@rm -f $(OBJDIR)/z80.oa

#
# end of makefile
#

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -