1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-13 13:11:06 +00:00
Commit Graph

130 Commits

Author SHA1 Message Date
Oliver Schmidt
5ed1fac0d6 Use unique variables for cc65 toolchain.
Originally I used the usual variables (like $(CC) and $(CFLAGS) ) but after
all this doesn't make sense as any predefined values and/or user defined
settings can only be wrong.
2013-06-04 23:39:00 +02:00
Oliver Schmidt
7024e2789d Explicitly set search paths for libraries build.
The libraries build is prepared to work with binaries not part of the current
working tree. But in this case the default search path surely points to some
other working tree. Even the binaries in this working tree might have been
compiled with non-standard builtin search paths.

Anyway when building the libraries we want always to use the headers from
the current working tree. Therefore we want to set them explicitly. Instead
of setting all in all five paths on the command lines of ca65, cc65 and ld65 I
opted to just set the single environment variable.
2013-05-31 21:30:14 +02:00
Oliver Schmidt
98c47d1877 Introduced target 'atarixl'.
The target 'atarixl' is to be used for Atari XL (and better) machines.
It will disable the OS ROM and enable the Shadow RAM available on
those machine.

Note: This commit is only the inital step towards for this goal that just
replicates the target 'atari' as a starting point!
2013-05-28 21:56:37 +02:00
Oliver Schmidt
3cc3b39c89 Made lib build less verbose if run as Travis CI build.
Travis CI limits the real time build output to 10000 lines. We need to be less verbose in the lib build to stay below that threshold.
2013-05-21 21:46:03 +02:00
Oliver Schmidt
55f9e6ac25 Added 'sim6502' and 'sim65C02' targets.
The targets allow to run cc65 programs in the sim65 exection
einvironment. As there are no "real" i/o facilities there's no
need for header files. Paravirtualized entry points are mapped
to $FFF0 ff. There's a large cc65 progam area from $0200-$FFEF.

The binary format includes a one-byte header indicating the required
execution environment: The value 0 means 6502 and the value 1
means 65C02. The load adress for the binary is fixed to $0200.

Note: Running sim65C02 programs currently doesn't work bcause
sim65 doesn't actually implement 65C02 opcodes.
2013-05-20 20:35:42 +02:00
Oliver Schmidt
16b77658a7 Made dependency handling for C sources actually work. 2013-05-12 18:21:49 +02:00
Oliver Schmidt
9ecf20a56a Force warning-free build (and added missing clean target). 2013-05-09 14:25:25 +02:00
Oliver Schmidt
443e336058 Search for "local" binaries only once. 2013-05-09 01:37:09 +02:00
Oliver Schmidt
00bb0f9704 Hack: Changed TARGET order to have apple2enh.lib available for convert.system.
There's a quite special case of a targetutil for the TARGET geos-apple having to be
built as TARGET apple2enh binary. We can't just add a dependency to ../lib/apple2enhlib
because the TARGETs are built in individual make instances (because of vpath).

Doing that the "right way" would be _very_ complicated and would turn the Makefiles way
less readable. Therefore I decided to solve that by just reordering the TARGETs. Surely
this won't work if i.e. 'make geos-apple' is entered on a clean system. But still I consider
it appropriate.

I ordered the TARGETs btw so that they are more in an alphabetical order...
2013-05-09 01:32:48 +02:00
Oliver Schmidt
092653cb5b Added support for building targetutils. 2013-05-09 01:12:26 +02:00
Oliver Schmidt
bf59515a9e Added support for building 'extra' object files. 2013-05-08 23:27:58 +02:00
Oliver Schmidt
717121a7cf Removed reference to CC65_HOME.
Now that we're pretty much independent from CC65_HOME
it doesn't make sense anymore to look for it in the Makefiles.

So rather dynamically check if there are "local" binaries in the
../bin directory. If there are "local" binaries use them - and
otherwise rely on "installed" binaries found in the path.
2013-05-07 19:05:43 +02:00
Oliver Schmidt
969c3b7488 Allow to build just the binaries or just the libraries from the top level Makefile. 2013-05-07 19:05:41 +02:00
Oliver Schmidt
1591871ba7 Added compatibility with cmd.exe (and reduced verbosity). 2013-05-05 22:33:25 +02:00
Oliver Schmidt
88648ce717 Avoid usage of cl65 for library build as it requires 'install'. 2013-05-04 23:38:05 +02:00
Oliver Schmidt
81e467cdc2 Replaced whole bunch for Makefiles with a single generic Makefile.
- No complex shell logic.
- "Source file shadowing" for all targets via vpath.
- Dependency handling.
- True incremental build.
- Don't write into source directories.
- Easy cleanup by just removing 'wrk'.
2013-05-04 22:15:30 +02:00
ol.sc
a3c940e315 Convert dynamically loadable drivers into statically linkable drivers and add them to the target libraries.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-29 20:26:26 +00:00
ol.sc
c91e9f4f06 On Cywin with its (too) expensive fork() this change cuts down minimal re-build times from nearly 2 minutes to approx. 6 seconds. Additionally it looks in all directories in the first list for "override" files, not just in one.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5865 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-22 17:37:10 +00:00
uz
c6f6a5de3f Generate and package a matching emd binary of the new driver for the target
platform.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5817 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-09-05 13:45:17 +00:00
uz
65a8da9fde Added a new serial driver for the atmos. By Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5580 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-09 10:48:59 +00:00
uz
f5d2af3763 With the additional key definitions, the dbg module will now work on the Oric
Atmos. By Stefan Haubenthal.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5533 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-19 17:51:47 +00:00
ol.sc
bf6b0f1e4b Initial Apple GEOS build.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5512 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-09 10:03:54 +00:00
uz
b4b34c479e Minor optimization.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5491 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-07 17:31:32 +00:00
ol.sc
470cf67795 Fixed typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5484 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-06 22:58:52 +00:00
uz
6e529a20a6 Allow modules in geos-common to override modules with the same name in the
standard directories.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5475 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-05 23:42:02 +00:00
ol.sc
2bf9cd2ee1 Moved the first couple of files from 'geos-cbm' to 'geos-common' which are believed to work as-is on Apple GEOS too.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-02-04 13:47:31 +00:00
ol.sc
0c69d4866c The cc65 library build system is designed to call sub-makes in direct sub-directories of 'libsrc' only (meaning that sub-sub-directories are not supported). The GEOSLib source files however are organized in sub-directories of the 'libsrc/geos-cbm'. This mismatch was up to now handled by replicating the cc65 library build system functionality to allow for individal sub-makes in each 'libsrc/geos-cbm' sub-directory. This is unnecessarily hard understand and causes additional maintainance effort.
Now the whole GEOSLib is built in a single make instance running in 'libsrc/geos-cbm' - which is just what the cc65 library build system can handle. The 'libsrc/geos-cbm' sub-directories still contain Makefiles. However those files only define the set of object files to create from their sub-directory and get included into the 'libsrc/geos-cbm' Makefile.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5429 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-30 21:19:09 +00:00
uz
e6d74e7205 Renamed the old geos target to geos-cbm.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5343 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-28 17:11:21 +00:00
uz
eae262b7c3 NES character mode TGI driver. By Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5067 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-06-21 20:34:18 +00:00
uz
73a7cf8c8c Added commands to copy the extra-object modules for all targets.
These two patches speed up library building:
Do the "runtime" directory before doing the platform directory, because
platform drivers need a file from the runtime directory (the old code
ran "runtime/Makefile" three times for each target!!!).
Clean only the shared directories -- the target directories don't need
cleaning.
Changes by Greg King.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 19:29:05 +00:00
uz
103af67585 Change handling of errno/seterrno to new behaviour. By Maciej Witkowiak.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-08-07 18:22:37 +00:00
cpg
db71d5e9e4 abort build if $(AR) reports an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@4727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-06-25 22:16:43 +00:00
uz
62669bcb73 P.A.S.E. joystick driver for the Oric Atmos, contributed by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4532 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-21 21:14:21 +00:00
cpg
b18d6ad8db add Atari TGI drivers from Fatih Aygun
git-svn-id: svn://svn.cc65.org/cc65/trunk@4456 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-10 21:53:55 +00:00
ol.sc
a4871a4928 Build files in the extra directory (analog to apple2).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4214 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 21:43:57 +00:00
uz
6a5e402ad7 Move/rename extra object files for the Apple2.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4206 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 10:22:29 +00:00
uz
ec946cae51 Lynx patches by Karri Kaksonen. Improvements for the graphics driver, new
serial driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4198 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-20 14:22:04 +00:00
uz
8216bf1d6a Force an import of the special symbol __STARTUP__ in the C compiler when
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
cpg
482b3da7d8 add Atari MultiJoy driver from Stefan A. Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-04-11 18:10:44 +00:00
uz
2b098710d9 Added Koala Pad mouse drivers written by Stefan Haubenthal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 20:54:35 +00:00
cuz
feae688346 Oliver Schmidt updated the graphics drivers and part of the C library for the
Apple machines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-16 09:37:22 +00:00
cuz
620f19464d Added build rules for the apple2-auxmem driver.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3763 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-08-18 16:40:45 +00:00
cuz
685235795c Apple 2 mouse driver and other stuff from Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3717 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-06 19:51:37 +00:00
cuz
6ea5614493 Serial driver for the SSC card by Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3627 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-08 21:03:46 +00:00
cuz
0a069540e1 Added the new PET joystick driver
git-svn-id: svn://svn.cc65.org/cc65/trunk@3601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-28 22:11:58 +00:00
cuz
1bf894cf44 New version from Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3423 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-26 17:23:14 +00:00
cuz
ec3dc8f73d New submakefile use
git-svn-id: svn://svn.cc65.org/cc65/trunk@3271 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 21:21:06 +00:00
cuz
4964382c67 Added joystick and tgi driver by Karri Kaksonen
git-svn-id: svn://svn.cc65.org/cc65/trunk@3246 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-14 16:50:50 +00:00
cuz
fed048bf8a Added lynxlib target
git-svn-id: svn://svn.cc65.org/cc65/trunk@3221 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 18:11:29 +00:00
cpg
449e602e12 zap also deletes *.ser and *.mou files
git-svn-id: svn://svn.cc65.org/cc65/trunk@3151 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-09 19:46:30 +00:00