mirror of
https://github.com/ctm/executor.git
synced 2024-11-27 01:49:33 +00:00
GNU Build system appears to work for hardcoded SDL front end and SDL sound.
This commit is contained in:
parent
058ad8d226
commit
edb51b569f
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
bin_PROGRAMS = executor
|
bin_PROGRAMS = executor
|
||||||
|
|
||||||
noinst_PROGRAMS = map_to_c mkseedtables mkultable mksspairtable
|
noinst_PROGRAMS = map_to_c mkseedtables mkultable mksspairtable opfind
|
||||||
|
|
||||||
ctl_bitmap_c_files = arrow_up_active.c arrow_up_inactive.c \
|
ctl_bitmap_c_files = arrow_up_active.c arrow_up_inactive.c \
|
||||||
arrow_down_active.c arrow_down_inactive.c \
|
arrow_down_active.c arrow_down_inactive.c \
|
||||||
@ -33,6 +33,10 @@ mkultable_SOURCES = mkultable.c
|
|||||||
|
|
||||||
mksspairtable_SOURCES = mksspairtable.c
|
mksspairtable_SOURCES = mksspairtable.c
|
||||||
|
|
||||||
|
opfind_SOURCES = config/arch/i386/opfind.c
|
||||||
|
|
||||||
|
opfind_CPPFLAGS = -DCOMPILE_FOR_BUILD $(AM_CPPFLAGS)
|
||||||
|
|
||||||
seedtables.c: mkseedtables
|
seedtables.c: mkseedtables
|
||||||
./mkseedtables > $@
|
./mkseedtables > $@
|
||||||
|
|
||||||
@ -85,7 +89,7 @@ qd_sources = qBit.c qCConv.c qCGrafPort.c qCRegular.c qColor.c qColorMgr.c \
|
|||||||
qColorutil.c qCursor.c qGrafport.c qIMIV.c qIMV.c qIMVxfer.c \
|
qColorutil.c qCursor.c qGrafport.c qIMIV.c qIMV.c qIMVxfer.c \
|
||||||
qMisc.c qPaletteMgr.c qPen.c qPicstuff.c qPicture.c \
|
qMisc.c qPaletteMgr.c qPen.c qPicstuff.c qPicture.c \
|
||||||
qPixMapConv.c qPoint.c qPoly.c qRect.c qRegion.c qRegular.c \
|
qPixMapConv.c qPoint.c qPoly.c qRect.c qRegion.c qRegular.c \
|
||||||
qScale.c qStandard.c qStdArc.c qStdBits.c qStdLine.cq qStdOval.c \
|
qScale.c qStandard.c qStdArc.c qStdBits.c qStdLine.c qStdOval.c \
|
||||||
qStdPic.c qStdPoly.c qStdRRect.c qStdRect.c qStdRgn.c \
|
qStdPic.c qStdPoly.c qStdRRect.c qStdRect.c qStdRgn.c \
|
||||||
qStdText.c qText.c qGWorld.c qGDevice.c qIMVI.c qHooks.c \
|
qStdText.c qText.c qGWorld.c qGDevice.c qIMVI.c qHooks.c \
|
||||||
xdata.c xdblt.c rawpatblt.c rawsrcblt.c dirtyrect.c srcblt.c \
|
xdata.c xdblt.c rawpatblt.c rawsrcblt.c dirtyrect.c srcblt.c \
|
||||||
@ -121,14 +125,70 @@ misc_sources = desk.c device.c disk.c diskinit.c dump.c trapname.c font.c \
|
|||||||
splash.c icon.c redrawscreen.c ini.c checkpoint.c qt.c cleanup.c \
|
splash.c icon.c redrawscreen.c ini.c checkpoint.c qt.c cleanup.c \
|
||||||
paramline.c fauxdbm.c custom.c commtool.c cfm.c local_charset.c pef_hash.c \
|
paramline.c fauxdbm.c custom.c commtool.c cfm.c local_charset.c pef_hash.c \
|
||||||
interfacelib.c mixed_mode.c suffix_maps.c appearance.c lockrange.c \
|
interfacelib.c mixed_mode.c suffix_maps.c appearance.c lockrange.c \
|
||||||
emutrap.c emutraptables.c emustubs.c
|
emutrap.c emutraptables.c emustubs.c unix_like.c parse.y check_structs.c \
|
||||||
|
executor.c mkvol/mkvol.c crc.c
|
||||||
|
|
||||||
executor_SOURCES = $(ctl_sources) $(dial_sources) $(file_sources) \
|
front_end_sdl_sources = config/front-ends/sdl/SDL_bmp.c \
|
||||||
$(hfs_sources) $(list_sources) $(menu_sources) \
|
config/front-ends/sdl/sdlevents.c \
|
||||||
$(print_sources) $(qd_sources) $(res_sources) \
|
config/front-ends/sdl/sdl_mem.c \
|
||||||
$(te_sources) $(wind_sources) $(ae_sources) \
|
config/front-ends/sdl/sdlquit.c \
|
||||||
$(sound_sources) $(num_sources) $(misc_sources)
|
config/front-ends/sdl/sdlscrap.c \
|
||||||
|
config/front-ends/sdl/sdlwin.c \
|
||||||
|
config/front-ends/sdl/sdlwm.c \
|
||||||
|
config/front-ends/sdl/sdlX.c \
|
||||||
|
config/front-ends/sdl/syswm_map.c \
|
||||||
|
config/front-ends/sdl/winmain.c
|
||||||
|
|
||||||
|
sound_sdl_sources = config/sound/sdl/sdl-sound.c
|
||||||
|
|
||||||
|
os_linux_sources = config/os/linux/linux.c \
|
||||||
|
config/os/linux/linux_except.c \
|
||||||
|
config/os/linux/lowglobals-mem.c
|
||||||
|
|
||||||
|
arch_i386_sources = config/arch/i386/x86patblt.S \
|
||||||
|
config/arch/i386/x86srcblt.S \
|
||||||
|
config/arch/i386/xdstubtables.c \
|
||||||
|
config/arch/i386/sbstubtables.c \
|
||||||
|
config/arch/i386/i386.c
|
||||||
|
|
||||||
|
x86patblt.$(OBJEXT): pat-blitters.s
|
||||||
|
|
||||||
|
x86srcblt.$(OBJEXT): src-blitters.s
|
||||||
|
|
||||||
|
pat-blitters-stamp pat-blitters.h pat-blitters.s: \
|
||||||
|
config/arch/i386/opfind.c config/arch/i386/opfind.h \
|
||||||
|
config/arch/i386/metaasm.pl config/arch/i386/pat-blitters.meta
|
||||||
|
$(srcdir)/config/arch/i386/metaasm.pl $(METAASM_ARGS)\
|
||||||
|
$(srcdir)/config/arch/i386/pat-blitters.meta\
|
||||||
|
pat-blitters.s pat-blitters.h\
|
||||||
|
config/arch/i386/opfind.c
|
||||||
|
$(RM) opfind asmsamples.h
|
||||||
|
touch pat-blitters-stamp
|
||||||
|
|
||||||
|
# We have src-blitters-stamp depend on pat-blitters-stamp so we don't
|
||||||
|
# try to do two metaasm's at once. They would fight over `opfind'.
|
||||||
|
src-blitters-stamp src-blitters.h src-blitters.s: \
|
||||||
|
config/arch/i386/opfind.c config/arch/i386/opfind.h \
|
||||||
|
config/arch/i386/metaasm.pl \
|
||||||
|
config/arch/i386/src-blitters.meta \
|
||||||
|
config/arch/i386/src-shift.meta \
|
||||||
|
config/arch/i386/src-noshift.meta \
|
||||||
|
config/arch/i386/src-shift-fgbk.meta \
|
||||||
|
config/arch/i386/src-noshift-fgbk.meta \
|
||||||
|
pat-blitters-stamp config/arch/i386/src-blitters-core.meta
|
||||||
|
$(srcdir)/config/arch/i386/metaasm.pl -define DST_SEG= $(METAASM_ARGS)\
|
||||||
|
$(srcdir)/config/arch/i386/src-blitters.meta\
|
||||||
|
src-blitters.s src-blitters.h\
|
||||||
|
config/arch/i386/opfind.c
|
||||||
|
$(RM) opfind
|
||||||
|
touch src-blitters-stamp
|
||||||
|
|
||||||
|
executor_SOURCES = $(ctl_sources) $(dial_sources) $(file_sources) \
|
||||||
|
$(hfs_sources) $(list_sources) $(menu_sources) \
|
||||||
|
$(print_sources) $(qd_sources) $(res_sources) \
|
||||||
|
$(te_sources) $(wind_sources) $(ae_sources) \
|
||||||
|
$(sound_sources) $(num_sources) $(misc_sources) \
|
||||||
|
$(front_end_sdl_sources) $(sound_sdl_sources) \
|
||||||
|
$(os_linux_sources) $(arch_i386_sources)
|
||||||
|
|
||||||
AM_CPPFLAGS=-I$(srcdir)/include -I$(srcdir)/config/front-ends/$(front_end) -I$(srcdir)/config/os/$(host_os) -I$(srcdir)/config/arch/$(host_cpu)
|
AM_CPPFLAGS=-I$(srcdir)/include -I$(srcdir)/config/front-ends/$(front_end) -I$(srcdir)/config/os/$(host_os) -I$(srcdir)/config/arch/$(host_cpu)
|
||||||
|
20
src/TODO
20
src/TODO
@ -1,7 +1,21 @@
|
|||||||
Make it so people can select the front-end and the sound, but that
|
GNU build fixes
|
||||||
we default to SDL if it's available
|
|
||||||
|
|
||||||
Make it so if we don't find libsyn68k, we die properly
|
Make it so people can select the front-end and the
|
||||||
|
sound, but that we default to SDL if it's available
|
||||||
|
|
||||||
|
Make it so if we don't find libsyn68k, we die properly
|
||||||
|
(unless we're on a 68k)
|
||||||
|
|
||||||
|
See if there's a more elegant way to identify the build
|
||||||
|
parameters than our current per-target override using
|
||||||
|
-DCOMPILE_FOR_BUILD
|
||||||
|
|
||||||
|
See if there's a more elegant solution to the blitters
|
||||||
|
code (can we nuke the config/arch/i386 prefixes in the
|
||||||
|
dependencies? should we make it so both source and pattern
|
||||||
|
blitters can be done in parallel?
|
||||||
|
|
||||||
|
test parallel builds
|
||||||
|
|
||||||
CToPascalCall -- look hard for arguments that sometimes take a pointer
|
CToPascalCall -- look hard for arguments that sometimes take a pointer
|
||||||
and sometimes take a long
|
and sometimes take a long
|
||||||
|
@ -162,8 +162,8 @@ os_init (void)
|
|||||||
void
|
void
|
||||||
msdos_print_info (void)
|
msdos_print_info (void)
|
||||||
{
|
{
|
||||||
printf ("This is %s, compiled %s.\n",
|
printf ("This is %s.\n",
|
||||||
ROMlib_executor_full_name, ROMlib_executor_build_time);
|
ROMlib_executor_full_name);
|
||||||
|
|
||||||
/* Print out CPU type. */
|
/* Print out CPU type. */
|
||||||
if (arch_type == ARCH_TYPE_I386)
|
if (arch_type == ARCH_TYPE_I386)
|
||||||
|
@ -12,6 +12,7 @@ AC_PROG_CC
|
|||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
AC_PROG_RANLIB
|
AC_PROG_RANLIB
|
||||||
AM_PROG_AS
|
AM_PROG_AS
|
||||||
|
AC_PROG_YACC
|
||||||
|
|
||||||
AC_CHECK_PROG([PERL], [perl], [perl])
|
AC_CHECK_PROG([PERL], [perl], [perl])
|
||||||
AC_ARG_VAR([PERL], [perl for generating blitters])
|
AC_ARG_VAR([PERL], [perl for generating blitters])
|
||||||
@ -22,23 +23,47 @@ AC_SYS_LARGEFILE
|
|||||||
|
|
||||||
AC_CHECK_LIB(syn68k, initialize_68k_emulator)
|
AC_CHECK_LIB(syn68k, initialize_68k_emulator)
|
||||||
|
|
||||||
# TODO: may not want to look for SDL if people have chosen an alternate
|
# Right now we blindly look for the libraries we need for the SDL Linux
|
||||||
# front-end.
|
# port since that's the first one I'll get going with the this file.
|
||||||
|
|
||||||
AC_CHECK_LIB(sdl, SDL_Init)
|
AC_CHECK_LIB(SDL, SDL_Init)
|
||||||
|
AC_CHECK_LIB(db, __db_ndbm_open)
|
||||||
|
AC_CHECK_LIB(X11, XInitThreads)
|
||||||
|
AC_CHECK_LIB(m, pow)
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile])
|
AC_CONFIG_FILES([Makefile])
|
||||||
|
|
||||||
|
|
||||||
|
# Normalize to our old names
|
||||||
|
|
||||||
|
case ${build_cpu} in
|
||||||
|
i[[3456]]86)
|
||||||
|
build_cpu=i386
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case ${host_cpu} in
|
||||||
|
i[[3456]]86)
|
||||||
|
host_cpu=i386
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
case ${build_os} in
|
case ${build_os} in
|
||||||
darwin*)
|
darwin*)
|
||||||
build_os=macosx
|
build_os=macosx
|
||||||
;;
|
;;
|
||||||
|
linux*)
|
||||||
|
build_os=linux
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case ${host_os} in
|
case ${host_os} in
|
||||||
darwin*)
|
darwin*)
|
||||||
host_os=macosx
|
host_os=macosx
|
||||||
;;
|
;;
|
||||||
|
linux*)
|
||||||
|
host_os=linux
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# This is a temporary cheat that forces us to use SDL.
|
# This is a temporary cheat that forces us to use SDL.
|
||||||
|
@ -278,11 +278,11 @@ err_vprintf (const char *fmt, va_list ap)
|
|||||||
if (!beenhere_p)
|
if (!beenhere_p)
|
||||||
{
|
{
|
||||||
fprintf (fp,
|
fprintf (fp,
|
||||||
"This is %s, compiled %s.\n"
|
"This is %s.\n"
|
||||||
"Using %u.%02u MB for applzone, "
|
"Using %u.%02u MB for applzone, "
|
||||||
"%u.%02u MB for syszone, %u.%02u MB for stack\n"
|
"%u.%02u MB for syszone, %u.%02u MB for stack\n"
|
||||||
"Approximate command line: %s\n",
|
"Approximate command line: %s\n",
|
||||||
ROMlib_executor_full_name, ROMlib_executor_build_time,
|
ROMlib_executor_full_name,
|
||||||
ROMlib_applzone_size / MB,
|
ROMlib_applzone_size / MB,
|
||||||
(ROMlib_applzone_size % MB) * 100 / MB,
|
(ROMlib_applzone_size % MB) * 100 / MB,
|
||||||
ROMlib_syszone_size / MB,
|
ROMlib_syszone_size / MB,
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
extern const char ROMlib_executor_version[];
|
extern const char ROMlib_executor_version[];
|
||||||
extern char *ROMlib_executor_full_name;
|
extern char *ROMlib_executor_full_name;
|
||||||
extern const char ROMlib_executor_build_time[];
|
|
||||||
|
|
||||||
#define PLATFORM_MOD 10 /* last decimal digit of serial number is platform */
|
#define PLATFORM_MOD 10 /* last decimal digit of serial number is platform */
|
||||||
#define COMPOSITE_MOD 100 /* 2nd to last digit is price class */
|
#define COMPOSITE_MOD 100 /* 2nd to last digit is price class */
|
||||||
|
@ -1052,8 +1052,8 @@ parse_drive_opt (const char *opt_name, const char *opt_value)
|
|||||||
static void
|
static void
|
||||||
print_info (void)
|
print_info (void)
|
||||||
{
|
{
|
||||||
printf ("This is %s, compiled %s.\n",
|
printf ("This is %s, compiled.\n",
|
||||||
ROMlib_executor_full_name, ROMlib_executor_build_time);
|
ROMlib_executor_full_name);
|
||||||
|
|
||||||
#if defined (i386)
|
#if defined (i386)
|
||||||
/* Print out CPU type. */
|
/* Print out CPU type. */
|
||||||
|
Loading…
Reference in New Issue
Block a user