mirror of https://github.com/stella-emu/stella.git
Removed more unused cruft from the UNIX build scripts, and reorganized
things a little (I hope I didn't break the recent GP2X changes). Removed more PSP stuff, since that port is no longer maintained in this codebase, but by someone else externally. Building the 'win32dist' target is now tailored to a Linux environment, and now properly converts text files and zips up the result automatically. So automated building just became that much closer ... git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1422 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
8e76c31e4c
commit
2cc674a0f7
|
@ -13,7 +13,7 @@
|
|||
## See the file "license" for information on usage and redistribution of
|
||||
## this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
##
|
||||
## $Id: Makefile,v 1.33 2008-03-09 14:17:03 stephena Exp $
|
||||
## $Id: Makefile,v 1.34 2008-03-09 15:30:27 stephena Exp $
|
||||
##
|
||||
## Based on code from ScummVM - Scumm Interpreter
|
||||
## Copyright (C) 2002-2004 The ScummVM project
|
||||
|
@ -151,12 +151,6 @@ else
|
|||
$(CXX) -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP $(CXXFLAGS) $(CPPFLAGS) -c $(<) -o $*.o
|
||||
endif
|
||||
|
||||
ifdef HAVE_NASM
|
||||
.SUFFIXES: .asm
|
||||
.asm.o:
|
||||
$(NASM) -O1 $(NASMFLAGS) -g -o $*.o $(<)
|
||||
endif
|
||||
|
||||
# Include the dependency tracking files. We add /dev/null at the end
|
||||
# of the list to avoid a warning/error if no .d file exist
|
||||
-include $(wildcard $(addsuffix /*.d,$(DEPDIRS))) /dev/null
|
||||
|
@ -184,7 +178,7 @@ install: all
|
|||
$(INSTALL) -c -m 644 "$(srcdir)/src/common/stella.png" "$(DESTDIR)$(DATADIR)/icons/large"
|
||||
|
||||
install-strip: install
|
||||
strip stella$(EXEEXT)
|
||||
$(STRIP) stella$(EXEEXT)
|
||||
|
||||
uninstall:
|
||||
rm -f "$(DESTDIR)$(BINDIR)/stella$(EXEEXT)"
|
||||
|
@ -202,52 +196,12 @@ src/win32/stella_icon.o: src/win32/stella.ico src/win32/stella.rc
|
|||
win32dist: stella$(EXEEXT)
|
||||
rm -rf $(DISTNAME)
|
||||
mkdir -p $(DISTNAME)/docs/graphics
|
||||
strip stella$(EXEEXT) -o $(DISTNAME)/stella$(EXEEXT)
|
||||
$(STRIP) stella$(EXEEXT) -o $(DISTNAME)/stella$(EXEEXT)
|
||||
cp Announce.txt Changes.txt Copyright.txt License.txt README-SDL.txt Readme.txt Todo.txt $(DISTNAME)/docs
|
||||
cp -r docs/*.html $(DISTNAME)/docs
|
||||
cp -r docs/graphics/*.png $(DISTNAME)/docs/graphics
|
||||
cp /mingw/bin/SDL.dll /mingw/bin/zlib1.dll $(DISTNAME)
|
||||
# u2d $(DISTNAME)/*.txt
|
||||
# zip $(DISTNAME)-win32.zip $(DISTNAME)
|
||||
|
||||
# Special target to create psp stuff
|
||||
psp-package: $(EXECUTABLE)
|
||||
$(MKSFO) 'Stella' PARAM.SFO
|
||||
mkdir -p "psp/stella"
|
||||
$(PSP-FIX) stella.elf
|
||||
$(PSP-STRIP) stella.elf -o psp/stella/EBOOT.PBP
|
||||
mkdir -p "psp/stella%"
|
||||
$(PACK-PBP) "psp/stella%/EBOOT.PBP" PARAM.SFO src/psp/data/ICON0.PNG NULL NULL src/psp/data/PIC1.PNG NULL NULL NULL
|
||||
rm -f PARAM.SFO
|
||||
|
||||
psp-upload: psp-package
|
||||
mount | grep $(PSP-MOUNTPOINT) || mount $(PSP-MOUNTPOINT)
|
||||
cp -rv "psp/stella" "psp/stella%" $(PSP-MOUNTPOINT)/psp/game/
|
||||
umount $(PSP-MOUNTPOINT)
|
||||
|
||||
psp-debug:
|
||||
mount | grep \$(PSP-MOUNTPOINT) || mount $(PSP-MOUNTPOINT)
|
||||
@cat $(PSP-MOUNTPOINT)/stderr.txt
|
||||
@echo -e "\n\n------------------------------------------------------------"
|
||||
@cat $(PSP-MOUNTPOINT)/stdout.txt
|
||||
umount $(PSP-MOUNTPOINT)
|
||||
|
||||
psp-cleanup:
|
||||
rm -rf psp
|
||||
mount | grep $(PSP-MOUNTPOINT) || mount $(PSP-MOUNTPOINT)
|
||||
rm -rf $(PSP-MOUNTPOINT)/std*
|
||||
umount $(PSP-MOUNTPOINT)
|
||||
|
||||
psp-layout:
|
||||
mount | grep $(PSP-MOUNTPOINT) || mount $(PSP-MOUNTPOINT)
|
||||
mkdir -p $(PSP-MOUNTPOINT)/stella/roms
|
||||
mkdir -p $(PSP-MOUNTPOINT)/stella/snapshots
|
||||
cp -v src/psp/data/stellarc.psp $(PSP-MOUNTPOINT)/stella/stellarc
|
||||
umount $(PSP-MOUNTPOINT)
|
||||
|
||||
# GP2X exec needs strip
|
||||
gp2x-strip: $(EXECUTABLE)
|
||||
$(GP2X-STRIP) stella
|
||||
flip -m $(DISTNAME)/docs/*.txt
|
||||
zip -r $(DISTNAME)-win32.zip $(DISTNAME)
|
||||
|
||||
# GP2X organize: groups necessary files into a gp2x folder for easy access.
|
||||
gp2x-organize:
|
||||
|
@ -257,7 +211,8 @@ gp2x-organize:
|
|||
cp -v $(srcdir)/src/gp2x/stella.gpe $(srcdir)/gp2x
|
||||
cp -v $(srcdir)/README-GP2X.txt $(srcdir)/gp2x
|
||||
cp -v -r $(srcdir)/docs/* $(srcdir)/gp2x/docs
|
||||
|
||||
$(STRIP) $(srcdir)/gp2x/stella
|
||||
|
||||
.PHONY: deb bundle test win32dist install uninstall
|
||||
|
||||
# Use Exuberant ctags (the one from Slackware's vim package, for instance),
|
||||
|
|
|
@ -42,11 +42,10 @@ _rm_rec="$_rm -r"
|
|||
_zip="zip -q"
|
||||
_cp=cp
|
||||
_win32path=""
|
||||
_windres="windres"
|
||||
_windres=windres
|
||||
_sdlconfig=sdl-config
|
||||
_sdlpath="$PATH"
|
||||
_prefix=/usr/local
|
||||
_have_x86=""
|
||||
X_LIBS="/usr/X11R6/lib"
|
||||
|
||||
_srcdir=`dirname $0`
|
||||
|
@ -62,6 +61,7 @@ _host=""
|
|||
_host_cpu=""
|
||||
_host_vendor=""
|
||||
_host_os=""
|
||||
_host_prefix=""
|
||||
|
||||
cc_check() {
|
||||
echo >> "$TMPLOG"
|
||||
|
@ -148,43 +148,6 @@ echo_n()
|
|||
printf "$@"
|
||||
}
|
||||
|
||||
#
|
||||
# Determine a data type with the given length
|
||||
#
|
||||
find_type_with_size ()
|
||||
{
|
||||
cat <<EOF >tmp_find_type_with_size.cpp
|
||||
#include <stdio.h>
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int size = argv[1][0] - '0';
|
||||
if (size == sizeof(int))
|
||||
printf("int\n");
|
||||
else if (size == sizeof(short))
|
||||
printf("short\n");
|
||||
else if (size == sizeof(char))
|
||||
printf("char\n");
|
||||
else if (size == sizeof(long))
|
||||
printf("long\n");
|
||||
else {
|
||||
printf("unknown\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if eval "$CXX -o tmp_find_type_with_size tmp_find_type_with_size.cpp"; then
|
||||
datatype=`./tmp_find_type_with_size $1`
|
||||
if test "$datatype" = "unknown"; then
|
||||
echo "couldn't find data type with $1 bytes"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
rm -f tmp_find_type_with_size$EXEEXT tmp_find_type_with_size.cpp
|
||||
echo $datatype
|
||||
}
|
||||
|
||||
#
|
||||
# Greet user
|
||||
#
|
||||
|
@ -238,10 +201,8 @@ Optional Features:
|
|||
--disable-profile
|
||||
|
||||
Optional Libraries:
|
||||
--with-zlib-prefix=DIR Prefix where zlib is installed (optional)
|
||||
|
||||
--with-sdl-prefix=DIR Prefix where the sdl-config script is installed (optional)
|
||||
|
||||
--with-zlib-prefix=DIR Prefix where zlib is installed (optional)
|
||||
--x-libraries Path to X11 libraries [${X_LIBS}]
|
||||
|
||||
Some influential environment variables:
|
||||
|
@ -278,15 +239,15 @@ for ac_option in $@; do
|
|||
--disable-static) _build_static=no ;;
|
||||
--enable-profile) _build_profile=yes ;;
|
||||
--disable-profile) _build_profile=no ;;
|
||||
--with-sdl-prefix=*)
|
||||
arg=`echo $ac_option | cut -d '=' -f 2`
|
||||
_sdlpath="$arg:$arg/bin"
|
||||
;;
|
||||
--with-zlib-prefix=*)
|
||||
_prefix=`echo $ac_option | cut -d '=' -f 2`
|
||||
ZLIB_CFLAGS="-I$_prefix/include"
|
||||
ZLIB_LIBS="-L$_prefix/lib"
|
||||
;;
|
||||
--with-sdl-prefix=*)
|
||||
arg=`echo $ac_option | cut -d '=' -f 2`
|
||||
_sdlpath="$arg:$arg/bin"
|
||||
;;
|
||||
--x-libraries=*)
|
||||
arg=`echo $ac_option | cut -d '=' -f 2`
|
||||
X_LIBS="$arg"
|
||||
|
@ -315,34 +276,27 @@ done;
|
|||
CXXFLAGS="$CXXFLAGS $DEBFLAGS"
|
||||
|
||||
case $_host in
|
||||
linupy)
|
||||
_host_os=linux
|
||||
_host_cpu=arm
|
||||
;;
|
||||
arm-riscos-aof)
|
||||
_host_os=riscos
|
||||
_host_cpu=arm
|
||||
;;
|
||||
ppc-amigaos)
|
||||
_host_os=amigaos
|
||||
_host_cpu=ppc
|
||||
;;
|
||||
psp)
|
||||
_host_os=psp
|
||||
_host_cpu=mips
|
||||
# force psp sdl path
|
||||
_sdlpath=$(psp-config --pspdev-path)/psp/bin:$_sdlpath
|
||||
PATH=$(psp-config --pspdev-path)/psp/bin:$(psp-config --pspdev-path)/bin:$PATH
|
||||
;;
|
||||
#linupy)
|
||||
# _host_os=linux
|
||||
# _host_cpu=arm
|
||||
# ;;
|
||||
#arm-riscos-aof)
|
||||
# _host_os=riscos
|
||||
# _host_cpu=arm
|
||||
# ;;
|
||||
#ppc-amigaos)
|
||||
# _host_os=amigaos
|
||||
# _host_cpu=ppc
|
||||
# ;;
|
||||
gp2x)
|
||||
_host_os=gp2x
|
||||
_host_cpu=arm
|
||||
_alt_tools=arm-open2x-linux
|
||||
_host_prefix=arm-open2x-linux
|
||||
;;
|
||||
mingw32-cross)
|
||||
_host_os=mingw32msvc
|
||||
_host_cpu=i386
|
||||
_windres=i386-mingw32msvc-windres
|
||||
_host_prefix=i386-mingw32msvc
|
||||
;;
|
||||
*)
|
||||
guessed_host=`$_srcdir/config.guess`
|
||||
|
@ -391,36 +345,16 @@ esac
|
|||
#
|
||||
echo_n "Looking for C++ compiler... "
|
||||
if test -n "$_host"; then
|
||||
compilers="$CXX $_host_cpu-$_host_os-g++ $_host_cpu-$_host_os-c++"
|
||||
compilers="$CXX $_host_prefix-g++ $_host_prefix-c++ $_host_cpu-$_host_os-g++ $_host_cpu-$_host_os-c++"
|
||||
else
|
||||
compilers="$CXX g++ c++"
|
||||
fi
|
||||
|
||||
for _tool in $_alt_tools ; do
|
||||
if test -n "$_prefix"; then
|
||||
compilers="$_prefix/bin/$_tool-g++ $compilers"
|
||||
else
|
||||
compilers="$_tool-g++ $compilers"
|
||||
fi
|
||||
done
|
||||
|
||||
CXX=
|
||||
if [ "$_host" = "psp" ] ; then
|
||||
compilers="$CXX psp-g++ psp-c++"
|
||||
CXX="psp-c++"
|
||||
fi
|
||||
|
||||
for compiler in $compilers; do
|
||||
echo $compiler
|
||||
if test_compiler $compiler; then
|
||||
CXX=$compiler
|
||||
echo $CXX
|
||||
|
||||
_toolprefix=`echo arm-open2x-linux-g++ | sed 's/.++//'`
|
||||
|
||||
if test -n "$_toolprefix"; then
|
||||
_strip="${_toolprefix}strip"
|
||||
fi
|
||||
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
@ -488,28 +422,26 @@ fi;
|
|||
if test -n "$_host"; then
|
||||
# Cross-compiling mode - add your target here if needed
|
||||
case "$_host" in
|
||||
linupy|arm-riscos-aof)
|
||||
echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
|
||||
DEFINES="$DEFINES -DUNIX"
|
||||
_def_endianness='#define SCUMM_LITTLE_ENDIAN'
|
||||
_def_align='#define SCUMM_NEED_ALIGNMENT'
|
||||
_def_linupy="#define DLINUPY"
|
||||
type_1_byte='char'
|
||||
type_2_byte='short'
|
||||
type_4_byte='int'
|
||||
;;
|
||||
ppc-amigaos)
|
||||
echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
|
||||
_def_endianness='#define SCUMM_BIG_ENDIAN'
|
||||
_def_align='#define SCUMM_NEED_ALIGNMENT'
|
||||
type_1_byte='char'
|
||||
type_2_byte='short'
|
||||
type_4_byte='long'
|
||||
CXXFLAGS="$CFLAGS -newlib -mstrict-align -mcpu=750 -mtune=7400"
|
||||
LDFLAGS="$LDFLAGS -newlib"
|
||||
;;
|
||||
psp)
|
||||
;;
|
||||
# linupy|arm-riscos-aof)
|
||||
# echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
|
||||
# DEFINES="$DEFINES -DUNIX"
|
||||
# _def_endianness='#define SCUMM_LITTLE_ENDIAN'
|
||||
# _def_align='#define SCUMM_NEED_ALIGNMENT'
|
||||
# _def_linupy="#define DLINUPY"
|
||||
# type_1_byte='char'
|
||||
# type_2_byte='short'
|
||||
# type_4_byte='int'
|
||||
# ;;
|
||||
# ppc-amigaos)
|
||||
# echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
|
||||
# _def_endianness='#define SCUMM_BIG_ENDIAN'
|
||||
# _def_align='#define SCUMM_NEED_ALIGNMENT'
|
||||
# type_1_byte='char'
|
||||
# type_2_byte='short'
|
||||
# type_4_byte='long'
|
||||
# CXXFLAGS="$CFLAGS -newlib -mstrict-align -mcpu=750 -mtune=7400"
|
||||
# LDFLAGS="$LDFLAGS -newlib"
|
||||
# ;;
|
||||
gp2x)
|
||||
echo "Cross-compiling to $_host, forcing static build, and disabling OpenGL."
|
||||
_build_static=yes
|
||||
|
@ -544,14 +476,6 @@ else
|
|||
_ranlib=:
|
||||
_host_os=unix
|
||||
;;
|
||||
darwin*)
|
||||
DEFINES="$DEFINES -DUNIX -DMACOSX"
|
||||
LIBS="$LIBS -framework QuickTime -framework AudioUnit -framework Carbon"
|
||||
# TODO: Add proper check for Altivec support in the compiler...
|
||||
DEFINES="$DEFINES -DHAS_ALTIVEC"
|
||||
CXXFLAGS="$CXXFLAGS -faltivec"
|
||||
_host_os=unix
|
||||
;;
|
||||
mingw*)
|
||||
DEFINES="$DEFINES -DWIN32"
|
||||
_host_os=win32
|
||||
|
@ -574,25 +498,11 @@ else
|
|||
esac
|
||||
fi
|
||||
|
||||
#
|
||||
# Check whether we can use x86 asm routines
|
||||
#
|
||||
echo_n "Running on x86... "
|
||||
case $_host_cpu in
|
||||
i386|i486|i586|i686)
|
||||
_have_x86=yes
|
||||
;;
|
||||
*)
|
||||
_have_x86=no
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$_have_x86" = yes ; then
|
||||
_def_x86='#define HAVE_X86'
|
||||
else
|
||||
_def_x86='#undef HAVE_X86'
|
||||
# Cross-compilers use their own commands for the following functions
|
||||
if test -n "$_host_prefix"; then
|
||||
_strip="$_host_prefix-$_strip"
|
||||
_windres="$_host_prefix-$_windres"
|
||||
fi
|
||||
echo "$_have_x86"
|
||||
|
||||
#
|
||||
# Check for ZLib
|
||||
|
@ -768,33 +678,6 @@ case $_host_os in
|
|||
INCLUDES="$INCLUDES -I$SRC/win32"
|
||||
LIBS="$LIBS -lmingw32 -lwinmm"
|
||||
;;
|
||||
psp)
|
||||
# -O3 is need for speed
|
||||
# -G0 to avoid c++ link problems
|
||||
CXXFLAGS="-G0 -O2 -fno-rtti"
|
||||
# 2 times -lc to avoid link problems. psp-gcc seems to to forget the first -lc wiile stdc++ linking
|
||||
LIBS="-L `psp-config --pspsdk-path`/lib -L`psp-config --pspsdk-path`/../lib "
|
||||
LIBS="$LIBS -lSDLmain -lSDL -lGL -lm -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspsdk -lpsprtc -lpspaudio -lc -lpspuser -lpspkernel -lpsppower -lz -lm -lg -lstdc++ -lc -lpsputility"
|
||||
# psp compiler
|
||||
CC="psp-gcc"
|
||||
LD="psp-gcc"
|
||||
_ranlib="psp-ranlib"
|
||||
_ar="psp-ar cru"
|
||||
|
||||
MODULES="$MODULES src/psp"
|
||||
|
||||
# psp specific tool
|
||||
PSP_STRIP=`psp-config --pspdev-path`"/bin/psp-strip"
|
||||
PSP_FIX=`psp-config --pspdev-path`"/bin/psp-fixup-imports"
|
||||
PACK_PBP=`psp-config --pspdev-path`"/bin/pack-pbp"
|
||||
MKSFO="`psp-config --pspdev-path`/bin/mksfo"
|
||||
|
||||
# mount point of psp
|
||||
PSP_MOUNTPOINT="/mnt/psp"
|
||||
|
||||
INCLUDES="$INCLUDES -Isrc/psp -I`psp-config --pspsdk-path`/include"
|
||||
DEFINES="$DEFINES -Dmain=SDL_main -DPSP -DBSPF_PSP -DPSP_DEBUG"
|
||||
;;
|
||||
gp2x)
|
||||
# -O3 hangs the GP2X, do not use.
|
||||
CXXFLAGS="-O2 -finline-functions -mtune=arm920t"
|
||||
|
@ -804,9 +687,6 @@ case $_host_os in
|
|||
|
||||
_ranlib="arm-linux-ranlib"
|
||||
_ar="arm-linux-ar cru"
|
||||
|
||||
# GP2X ARM Linux Specific strip
|
||||
GP2X_STRIP="$_strip"
|
||||
;;
|
||||
*)
|
||||
echo "WARNING: host system not currenty supported"
|
||||
|
@ -876,7 +756,8 @@ RM_REC := $_rm_rec
|
|||
ZIP := $_zip
|
||||
CP := $_cp
|
||||
WIN32PATH=$_win32path
|
||||
WINDRES=$_windres
|
||||
STRIP := $_strip
|
||||
WINDRES := $_windres
|
||||
|
||||
MODULES += $MODULES
|
||||
MODULE_DIRS += $MODULE_DIRS
|
||||
|
@ -896,23 +777,5 @@ DEFINES += $DEFINES
|
|||
LDFLAGS += $LDFLAGS
|
||||
EOF
|
||||
|
||||
if test $_host_os = "psp" ; then
|
||||
cat >> config.mak << EOF
|
||||
|
||||
PSP-STRIP := $PSP_STRIP
|
||||
PSP-FIX := $PSP_FIX
|
||||
PACK-PBP := $PACK_PBP
|
||||
MKSFO := $MKSFO
|
||||
PSP-MOUNTPOINT := $PSP_MOUNTPOINT
|
||||
EOF
|
||||
fi
|
||||
|
||||
if test $_host_os = "gp2x" ; then
|
||||
cat >> config.mak << EOF
|
||||
|
||||
GP2X-STRIP := \$(PREFIX)/bin/$GP2X_STRIP
|
||||
EOF
|
||||
fi
|
||||
|
||||
# This should be taken care of elsewhere, but I'm not sure where
|
||||
rm -f stella-conf*
|
||||
|
|
Loading…
Reference in New Issue