From 37c492b544dec2460fc2c16a3d66275cc0d4edc0 Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Tue, 9 Apr 2013 23:09:46 +0200 Subject: [PATCH] Replaced builtin linker configs with ordinary .cfg files. The benefits are: - Independency of ld65 build from perl - More transparent behaviour --- {src/ld65/cfg => cfg}/apple2-asm.cfg | 0 {src/ld65/cfg => cfg}/apple2-overlay.cfg | 0 {src/ld65/cfg => cfg}/apple2-system.cfg | 0 {src/ld65/cfg => cfg}/apple2.cfg | 0 {src/ld65/cfg => cfg}/apple2enh-asm.cfg | 0 {src/ld65/cfg => cfg}/apple2enh-overlay.cfg | 0 {src/ld65/cfg => cfg}/apple2enh-system.cfg | 0 {src/ld65/cfg => cfg}/apple2enh.cfg | 0 {src/ld65/cfg => cfg}/atari-overlay.cfg | 0 {src/ld65/cfg => cfg}/atari.cfg | 0 {src/ld65/cfg => cfg}/atmos.cfg | 0 {src/ld65/cfg => cfg}/bbc.cfg | 0 {src/ld65/cfg => cfg}/c128-overlay.cfg | 0 {src/ld65/cfg => cfg}/c128.cfg | 0 {src/ld65/cfg => cfg}/c16.cfg | 0 {src/ld65/cfg => cfg}/c64-asm.cfg | 0 {src/ld65/cfg => cfg}/c64-overlay.cfg | 0 {src/ld65/cfg => cfg}/c64.cfg | 0 {src/ld65/cfg => cfg}/cbm510.cfg | 0 {src/ld65/cfg => cfg}/cbm610.cfg | 0 {src/ld65/cfg => cfg}/geos-apple.cfg | 0 {src/ld65/cfg => cfg}/geos-cbm.cfg | 0 {src/ld65/cfg => cfg}/lunix.cfg | 0 {src/ld65/cfg => cfg}/lynx-bll.cfg | 0 {src/ld65/cfg => cfg}/lynx-coll.cfg | 0 {src/ld65/cfg => cfg}/lynx-uploader.cfg | 0 {src/ld65/cfg => cfg}/lynx.cfg | 0 {src/ld65/cfg => cfg}/module.cfg | 0 {src/ld65/cfg => cfg}/nes.cfg | 0 {src/ld65/cfg => cfg}/none.cfg | 0 {src/ld65/cfg => cfg}/pet.cfg | 0 {src/ld65/cfg => cfg}/plus4.cfg | 0 {src/ld65/cfg => cfg}/supervision-128k.cfg | 0 {src/ld65/cfg => cfg}/supervision-16k.cfg | 0 {src/ld65/cfg => cfg}/supervision-64k.cfg | 0 {src/ld65/cfg => cfg}/supervision.cfg | 0 {src/ld65/cfg => cfg}/vic20-32k.cfg | 0 {src/ld65/cfg => cfg}/vic20.cfg | 0 src/common/target.c | 42 +++---- src/common/target.h | 7 +- src/ld65/binfmt.c | 4 + src/ld65/binfmt.h | 5 - src/ld65/cfg/cvt-cfg.pl | 67 ----------- src/ld65/config.c | 1 + src/ld65/main.c | 43 +++---- src/ld65/make/gcc.mak | 99 +-------------- src/ld65/tgtcfg.c | 127 -------------------- src/ld65/tgtcfg.h | 81 ------------- 48 files changed, 52 insertions(+), 424 deletions(-) rename {src/ld65/cfg => cfg}/apple2-asm.cfg (100%) rename {src/ld65/cfg => cfg}/apple2-overlay.cfg (100%) rename {src/ld65/cfg => cfg}/apple2-system.cfg (100%) rename {src/ld65/cfg => cfg}/apple2.cfg (100%) rename {src/ld65/cfg => cfg}/apple2enh-asm.cfg (100%) rename {src/ld65/cfg => cfg}/apple2enh-overlay.cfg (100%) rename {src/ld65/cfg => cfg}/apple2enh-system.cfg (100%) rename {src/ld65/cfg => cfg}/apple2enh.cfg (100%) rename {src/ld65/cfg => cfg}/atari-overlay.cfg (100%) rename {src/ld65/cfg => cfg}/atari.cfg (100%) rename {src/ld65/cfg => cfg}/atmos.cfg (100%) rename {src/ld65/cfg => cfg}/bbc.cfg (100%) rename {src/ld65/cfg => cfg}/c128-overlay.cfg (100%) rename {src/ld65/cfg => cfg}/c128.cfg (100%) rename {src/ld65/cfg => cfg}/c16.cfg (100%) rename {src/ld65/cfg => cfg}/c64-asm.cfg (100%) rename {src/ld65/cfg => cfg}/c64-overlay.cfg (100%) rename {src/ld65/cfg => cfg}/c64.cfg (100%) rename {src/ld65/cfg => cfg}/cbm510.cfg (100%) rename {src/ld65/cfg => cfg}/cbm610.cfg (100%) rename {src/ld65/cfg => cfg}/geos-apple.cfg (100%) rename {src/ld65/cfg => cfg}/geos-cbm.cfg (100%) rename {src/ld65/cfg => cfg}/lunix.cfg (100%) rename {src/ld65/cfg => cfg}/lynx-bll.cfg (100%) rename {src/ld65/cfg => cfg}/lynx-coll.cfg (100%) rename {src/ld65/cfg => cfg}/lynx-uploader.cfg (100%) rename {src/ld65/cfg => cfg}/lynx.cfg (100%) rename {src/ld65/cfg => cfg}/module.cfg (100%) rename {src/ld65/cfg => cfg}/nes.cfg (100%) rename {src/ld65/cfg => cfg}/none.cfg (100%) rename {src/ld65/cfg => cfg}/pet.cfg (100%) rename {src/ld65/cfg => cfg}/plus4.cfg (100%) rename {src/ld65/cfg => cfg}/supervision-128k.cfg (100%) rename {src/ld65/cfg => cfg}/supervision-16k.cfg (100%) rename {src/ld65/cfg => cfg}/supervision-64k.cfg (100%) rename {src/ld65/cfg => cfg}/supervision.cfg (100%) rename {src/ld65/cfg => cfg}/vic20-32k.cfg (100%) rename {src/ld65/cfg => cfg}/vic20.cfg (100%) delete mode 100755 src/ld65/cfg/cvt-cfg.pl delete mode 100644 src/ld65/tgtcfg.c delete mode 100644 src/ld65/tgtcfg.h diff --git a/src/ld65/cfg/apple2-asm.cfg b/cfg/apple2-asm.cfg similarity index 100% rename from src/ld65/cfg/apple2-asm.cfg rename to cfg/apple2-asm.cfg diff --git a/src/ld65/cfg/apple2-overlay.cfg b/cfg/apple2-overlay.cfg similarity index 100% rename from src/ld65/cfg/apple2-overlay.cfg rename to cfg/apple2-overlay.cfg diff --git a/src/ld65/cfg/apple2-system.cfg b/cfg/apple2-system.cfg similarity index 100% rename from src/ld65/cfg/apple2-system.cfg rename to cfg/apple2-system.cfg diff --git a/src/ld65/cfg/apple2.cfg b/cfg/apple2.cfg similarity index 100% rename from src/ld65/cfg/apple2.cfg rename to cfg/apple2.cfg diff --git a/src/ld65/cfg/apple2enh-asm.cfg b/cfg/apple2enh-asm.cfg similarity index 100% rename from src/ld65/cfg/apple2enh-asm.cfg rename to cfg/apple2enh-asm.cfg diff --git a/src/ld65/cfg/apple2enh-overlay.cfg b/cfg/apple2enh-overlay.cfg similarity index 100% rename from src/ld65/cfg/apple2enh-overlay.cfg rename to cfg/apple2enh-overlay.cfg diff --git a/src/ld65/cfg/apple2enh-system.cfg b/cfg/apple2enh-system.cfg similarity index 100% rename from src/ld65/cfg/apple2enh-system.cfg rename to cfg/apple2enh-system.cfg diff --git a/src/ld65/cfg/apple2enh.cfg b/cfg/apple2enh.cfg similarity index 100% rename from src/ld65/cfg/apple2enh.cfg rename to cfg/apple2enh.cfg diff --git a/src/ld65/cfg/atari-overlay.cfg b/cfg/atari-overlay.cfg similarity index 100% rename from src/ld65/cfg/atari-overlay.cfg rename to cfg/atari-overlay.cfg diff --git a/src/ld65/cfg/atari.cfg b/cfg/atari.cfg similarity index 100% rename from src/ld65/cfg/atari.cfg rename to cfg/atari.cfg diff --git a/src/ld65/cfg/atmos.cfg b/cfg/atmos.cfg similarity index 100% rename from src/ld65/cfg/atmos.cfg rename to cfg/atmos.cfg diff --git a/src/ld65/cfg/bbc.cfg b/cfg/bbc.cfg similarity index 100% rename from src/ld65/cfg/bbc.cfg rename to cfg/bbc.cfg diff --git a/src/ld65/cfg/c128-overlay.cfg b/cfg/c128-overlay.cfg similarity index 100% rename from src/ld65/cfg/c128-overlay.cfg rename to cfg/c128-overlay.cfg diff --git a/src/ld65/cfg/c128.cfg b/cfg/c128.cfg similarity index 100% rename from src/ld65/cfg/c128.cfg rename to cfg/c128.cfg diff --git a/src/ld65/cfg/c16.cfg b/cfg/c16.cfg similarity index 100% rename from src/ld65/cfg/c16.cfg rename to cfg/c16.cfg diff --git a/src/ld65/cfg/c64-asm.cfg b/cfg/c64-asm.cfg similarity index 100% rename from src/ld65/cfg/c64-asm.cfg rename to cfg/c64-asm.cfg diff --git a/src/ld65/cfg/c64-overlay.cfg b/cfg/c64-overlay.cfg similarity index 100% rename from src/ld65/cfg/c64-overlay.cfg rename to cfg/c64-overlay.cfg diff --git a/src/ld65/cfg/c64.cfg b/cfg/c64.cfg similarity index 100% rename from src/ld65/cfg/c64.cfg rename to cfg/c64.cfg diff --git a/src/ld65/cfg/cbm510.cfg b/cfg/cbm510.cfg similarity index 100% rename from src/ld65/cfg/cbm510.cfg rename to cfg/cbm510.cfg diff --git a/src/ld65/cfg/cbm610.cfg b/cfg/cbm610.cfg similarity index 100% rename from src/ld65/cfg/cbm610.cfg rename to cfg/cbm610.cfg diff --git a/src/ld65/cfg/geos-apple.cfg b/cfg/geos-apple.cfg similarity index 100% rename from src/ld65/cfg/geos-apple.cfg rename to cfg/geos-apple.cfg diff --git a/src/ld65/cfg/geos-cbm.cfg b/cfg/geos-cbm.cfg similarity index 100% rename from src/ld65/cfg/geos-cbm.cfg rename to cfg/geos-cbm.cfg diff --git a/src/ld65/cfg/lunix.cfg b/cfg/lunix.cfg similarity index 100% rename from src/ld65/cfg/lunix.cfg rename to cfg/lunix.cfg diff --git a/src/ld65/cfg/lynx-bll.cfg b/cfg/lynx-bll.cfg similarity index 100% rename from src/ld65/cfg/lynx-bll.cfg rename to cfg/lynx-bll.cfg diff --git a/src/ld65/cfg/lynx-coll.cfg b/cfg/lynx-coll.cfg similarity index 100% rename from src/ld65/cfg/lynx-coll.cfg rename to cfg/lynx-coll.cfg diff --git a/src/ld65/cfg/lynx-uploader.cfg b/cfg/lynx-uploader.cfg similarity index 100% rename from src/ld65/cfg/lynx-uploader.cfg rename to cfg/lynx-uploader.cfg diff --git a/src/ld65/cfg/lynx.cfg b/cfg/lynx.cfg similarity index 100% rename from src/ld65/cfg/lynx.cfg rename to cfg/lynx.cfg diff --git a/src/ld65/cfg/module.cfg b/cfg/module.cfg similarity index 100% rename from src/ld65/cfg/module.cfg rename to cfg/module.cfg diff --git a/src/ld65/cfg/nes.cfg b/cfg/nes.cfg similarity index 100% rename from src/ld65/cfg/nes.cfg rename to cfg/nes.cfg diff --git a/src/ld65/cfg/none.cfg b/cfg/none.cfg similarity index 100% rename from src/ld65/cfg/none.cfg rename to cfg/none.cfg diff --git a/src/ld65/cfg/pet.cfg b/cfg/pet.cfg similarity index 100% rename from src/ld65/cfg/pet.cfg rename to cfg/pet.cfg diff --git a/src/ld65/cfg/plus4.cfg b/cfg/plus4.cfg similarity index 100% rename from src/ld65/cfg/plus4.cfg rename to cfg/plus4.cfg diff --git a/src/ld65/cfg/supervision-128k.cfg b/cfg/supervision-128k.cfg similarity index 100% rename from src/ld65/cfg/supervision-128k.cfg rename to cfg/supervision-128k.cfg diff --git a/src/ld65/cfg/supervision-16k.cfg b/cfg/supervision-16k.cfg similarity index 100% rename from src/ld65/cfg/supervision-16k.cfg rename to cfg/supervision-16k.cfg diff --git a/src/ld65/cfg/supervision-64k.cfg b/cfg/supervision-64k.cfg similarity index 100% rename from src/ld65/cfg/supervision-64k.cfg rename to cfg/supervision-64k.cfg diff --git a/src/ld65/cfg/supervision.cfg b/cfg/supervision.cfg similarity index 100% rename from src/ld65/cfg/supervision.cfg rename to cfg/supervision.cfg diff --git a/src/ld65/cfg/vic20-32k.cfg b/cfg/vic20-32k.cfg similarity index 100% rename from src/ld65/cfg/vic20-32k.cfg rename to cfg/vic20-32k.cfg diff --git a/src/ld65/cfg/vic20.cfg b/cfg/vic20.cfg similarity index 100% rename from src/ld65/cfg/vic20.cfg rename to cfg/vic20.cfg diff --git a/src/common/target.c b/src/common/target.c index 2d1eb60b3..79c9f8555 100644 --- a/src/common/target.c +++ b/src/common/target.c @@ -151,27 +151,27 @@ static const TargetEntry TargetMap[] = { /* Table with target properties by target id */ static const TargetProperties PropertyTable[TGT_COUNT] = { - { "none", CPU_6502, CTNone }, - { "module", CPU_6502, CTNone }, - { "atari", CPU_6502, CTAtari }, - { "vic20", CPU_6502, CTPET }, - { "c16", CPU_6502, CTPET }, - { "c64", CPU_6502, CTPET }, - { "c128", CPU_6502, CTPET }, - { "plus4", CPU_6502, CTPET }, - { "cbm510", CPU_6502, CTPET }, - { "cbm610", CPU_6502, CTPET }, - { "pet", CPU_6502, CTPET }, - { "bbc", CPU_6502, CTNone }, - { "apple2", CPU_6502, CTNone }, - { "apple2enh", CPU_65C02, CTNone }, - { "geos-cbm", CPU_6502, CTNone }, - { "geos-apple", CPU_65C02, CTNone }, - { "lunix", CPU_6502, CTNone }, - { "atmos", CPU_6502, CTNone }, - { "nes", CPU_6502, CTNone }, - { "supervision", CPU_65SC02, CTNone }, - { "lynx", CPU_65C02, CTNone }, + { "none", CPU_6502, BINFMT_BINARY, CTNone }, + { "module", CPU_6502, BINFMT_O65, CTNone }, + { "atari", CPU_6502, BINFMT_BINARY, CTAtari }, + { "vic20", CPU_6502, BINFMT_BINARY, CTPET }, + { "c16", CPU_6502, BINFMT_BINARY, CTPET }, + { "c64", CPU_6502, BINFMT_BINARY, CTPET }, + { "c128", CPU_6502, BINFMT_BINARY, CTPET }, + { "plus4", CPU_6502, BINFMT_BINARY, CTPET }, + { "cbm510", CPU_6502, BINFMT_BINARY, CTPET }, + { "cbm610", CPU_6502, BINFMT_BINARY, CTPET }, + { "pet", CPU_6502, BINFMT_BINARY, CTPET }, + { "bbc", CPU_6502, BINFMT_BINARY, CTNone }, + { "apple2", CPU_6502, BINFMT_BINARY, CTNone }, + { "apple2enh", CPU_65C02, BINFMT_BINARY, CTNone }, + { "geos-cbm", CPU_6502, BINFMT_BINARY, CTNone }, + { "geos-apple", CPU_65C02, BINFMT_BINARY, CTNone }, + { "lunix", CPU_6502, BINFMT_O65, CTNone }, + { "atmos", CPU_6502, BINFMT_BINARY, CTNone }, + { "nes", CPU_6502, BINFMT_BINARY, CTNone }, + { "supervision", CPU_65SC02, BINFMT_BINARY, CTNone }, + { "lynx", CPU_65C02, BINFMT_BINARY, CTNone }, }; /* Target system */ diff --git a/src/common/target.h b/src/common/target.h index fa1d42964..0ac5564e5 100644 --- a/src/common/target.h +++ b/src/common/target.h @@ -81,14 +81,17 @@ typedef struct TargetProperties TargetProperties; struct TargetProperties { const char Name[12]; /* Name of the target */ cpu_t DefaultCPU; /* Default CPU for this target */ + unsigned char BinFmt; /* Default binary format for this target */ const unsigned char* CharMap; /* Character translation table */ }; /* Target system */ extern target_t Target; -/* Table with default CPUs per target */ -extern const cpu_t DefaultCPU[TGT_COUNT]; +/* Types of available output formats */ +#define BINFMT_DEFAULT 0 /* Default (binary) */ +#define BINFMT_BINARY 1 /* Straight binary format */ +#define BINFMT_O65 2 /* Andre Fachats o65 format */ diff --git a/src/ld65/binfmt.c b/src/ld65/binfmt.c index b7c978475..3419cd063 100644 --- a/src/ld65/binfmt.c +++ b/src/ld65/binfmt.c @@ -33,6 +33,10 @@ +/* common */ +#include "target.h" + +/* ld65 */ #include "error.h" #include "binfmt.h" diff --git a/src/ld65/binfmt.h b/src/ld65/binfmt.h index f5414172d..493bd7fea 100644 --- a/src/ld65/binfmt.h +++ b/src/ld65/binfmt.h @@ -44,11 +44,6 @@ -/* Types of available output formats */ -#define BINFMT_DEFAULT 0 /* Default (binary) */ -#define BINFMT_BINARY 1 /* Straight binary format */ -#define BINFMT_O65 2 /* Andre Fachats o65 format */ - /* Default format (depends on target system) */ extern unsigned char DefaultBinFmt; diff --git a/src/ld65/cfg/cvt-cfg.pl b/src/ld65/cfg/cvt-cfg.pl deleted file mode 100755 index c02c2a7d9..000000000 --- a/src/ld65/cfg/cvt-cfg.pl +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/perl - -# Check number of params -die "Usage: cvt-cfg.pl input output varname\n" unless ($#ARGV == 2); - -# Get the parameters -$InputName = shift (@ARGV); -$OutputName = shift (@ARGV); -$VarName = shift (@ARGV); - -# Open both files -open (IN, "<$InputName") or die "Cannot open $InputName\n"; -open (OUT, ">$OutputName") or die "Cannot open $OutputName\n"; - -# Print the header to the output file -print OUT "static const char $VarName [] = \n"; - -# Read from input, print to output -while ($Line = ) { - - # Remove the newline - chomp $Line; - - # Separate an existing comment. No need to be overly clever, just ignore - # hash marks in strings. - if ($Line =~ /(.*?)(\s*)(\#\s*)(.*?)\s*$/) { - $Line = $1; - $CommentSpace = $2; - $Comment = $4; - } else { - $CommentSpace = ""; - $Comment = ""; - } - - # Remove leading and trailing spaces - $Line =~ s/^\s*|\s*$//g; - - # Replace control chars - $Line =~ s/\\/\\\\/g; - $Line =~ s/\"/\\\"/g; - $Line =~ s/\'/\\\'/g; - - # Print to output - print OUT "\"$Line\\n\""; - - # Add a comment if we have one - if ($Comment ne "") { - print OUT "$CommentSpace/* $Comment */"; - } - - # Terminate the line - print OUT "\n"; -} - -# Terminate the variable declaration -print OUT ";\n"; - -# Close the files -close IN; -close OUT; - -# Done -exit 0; - - - - diff --git a/src/ld65/config.c b/src/ld65/config.c index 4aaa7d99d..70fa63b54 100644 --- a/src/ld65/config.c +++ b/src/ld65/config.c @@ -48,6 +48,7 @@ #include "check.h" #include "print.h" #include "segdefs.h" +#include "target.h" #include "xmalloc.h" #include "xsprintf.h" diff --git a/src/ld65/main.c b/src/ld65/main.c index 6a0c09c06..45ab3493a 100644 --- a/src/ld65/main.c +++ b/src/ld65/main.c @@ -67,7 +67,6 @@ #include "scanner.h" #include "segments.h" #include "spool.h" -#include "tgtcfg.h" #include "tpool.h" @@ -326,21 +325,6 @@ static void OptDefine (const char* Opt attribute ((unused)), const char* Arg) -static void OptDumpConfig (const char* Opt attribute ((unused)), const char* Arg) -/* Dump a builtin linker configuration */ -{ - /* Map the given target name to its id */ - target_t T = FindTarget (Arg); - if (T == TGT_UNKNOWN) { - Error ("Target system `%s' is unknown", Arg); - } - - /* Dump the builtin configuration */ - DumpBuiltinConfig (stdout, T); -} - - - static void OptEndGroup (const char* Opt attribute ((unused)), const char* Arg attribute ((unused))) /* End a library group */ @@ -486,7 +470,8 @@ static void OptStartGroup (const char* Opt attribute ((unused)), static void OptTarget (const char* Opt attribute ((unused)), const char* Arg) /* Set the target system */ { - const TargetDesc* D; + StrBuf FileName = STATIC_STRBUF_INITIALIZER; + char* PathName; /* Map the target name to a target id */ Target = FindTarget (Arg); @@ -494,14 +479,25 @@ static void OptTarget (const char* Opt attribute ((unused)), const char* Arg) Error ("Invalid target name: `%s'", Arg); } - /* Get the target description record */ - D = &Targets[Target]; + /* Set the target binary format */ + DefaultBinFmt = GetTargetProperties (Target)->BinFmt; + + /* Build config file name from target name */ + SB_CopyStr (&FileName, GetTargetName (Target)); + SB_AppendStr (&FileName, ".cfg"); + SB_Terminate (&FileName); + + /* Search for the file */ + PathName = SearchFile (CfgSearchPath, SB_GetBuf (&FileName)); + if (PathName == 0) { + Error ("Cannot find config file `%s'", SB_GetBuf (&FileName)); + } - /* Set the target data */ - DefaultBinFmt = D->BinFmt; - CfgSetBuf (D->Cfg); + /* Free file name memory */ + SB_Done (&FileName); - /* Read the target config */ + /* Read the file */ + CfgSetName (PathName); CfgRead (); } @@ -527,7 +523,6 @@ int main (int argc, char* argv []) { "--config", 1, OptConfig }, { "--dbgfile", 1, OptDbgFile }, { "--define", 1, OptDefine }, - { "--dump-config", 1, OptDumpConfig }, { "--end-group", 0, OptEndGroup }, { "--force-import", 1, OptForceImport }, { "--help", 0, OptHelp }, diff --git a/src/ld65/make/gcc.mak b/src/ld65/make/gcc.mak index 4baf8708a..fe8428944 100644 --- a/src/ld65/make/gcc.mak +++ b/src/ld65/make/gcc.mak @@ -23,9 +23,6 @@ override CFLAGS += -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD EBIND = emxbind LDFLAGS = -# Perl script for config file conversion -CVT=cfg/cvt-cfg.pl - # ----------------------------------------------------------------------------- # List of all object files @@ -65,28 +62,6 @@ OBJS = asserts.o \ # ----------------------------------------------------------------------------- # List of all config includes -INCS = apple2.inc \ - apple2enh.inc \ - atari.inc \ - atmos.inc \ - bbc.inc \ - c128.inc \ - c16.inc \ - c64.inc \ - cbm510.inc \ - cbm610.inc \ - geos-apple.inc \ - geos-cbm.inc \ - lunix.inc \ - lynx.inc \ - module.inc \ - nes.inc \ - none.inc \ - pet.inc \ - plus4.inc \ - supervision.inc \ - vic20.inc - LIBS = $(COMMON)/common.a @@ -103,12 +78,10 @@ all: depend @$(MAKE) -f make/gcc.mak all endif -$(EXE): $(INCS) $(OBJS) $(LIBS) +$(EXE): $(OBJS) $(LIBS) $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ @if [ $(OS2_SHELL) ] ; then $(EBIND) $(EXE) ; fi -inc: $(INCS) - clean: $(RM) *~ core.* *.map @@ -119,74 +92,6 @@ zap: clean # Make the dependencies .PHONY: depend dep -depend dep: $(INCS) $(OBJS:.o=.c) +depend dep: $(OBJS:.o=.c) @echo "Creating dependency information" $(CC) $(CFLAGS) -MM $(OBJS:.o=.c) > .depend - -# ----------------------------------------------------------------------------- -# Rules to make config includes - -apple2.inc: cfg/apple2.cfg - @$(CVT) $< $@ CfgApple2 - -apple2enh.inc: cfg/apple2enh.cfg - @$(CVT) $< $@ CfgApple2Enh - -atari.inc: cfg/atari.cfg - @$(CVT) $< $@ CfgAtari - -atmos.inc: cfg/atmos.cfg - @$(CVT) $< $@ CfgAtmos - -bbc.inc: cfg/bbc.cfg - @$(CVT) $< $@ CfgBBC - -c16.inc: cfg/c16.cfg - @$(CVT) $< $@ CfgC16 - -c64.inc: cfg/c64.cfg - @$(CVT) $< $@ CfgC64 - -c128.inc: cfg/c128.cfg - @$(CVT) $< $@ CfgC128 - -cbm510.inc: cfg/cbm510.cfg - @$(CVT) $< $@ CfgCBM510 - -cbm610.inc: cfg/cbm610.cfg - @$(CVT) $< $@ CfgCBM610 - -geos-apple.inc: cfg/geos-apple.cfg - @$(CVT) $< $@ CfgGeosApple - -geos-cbm.inc: cfg/geos-cbm.cfg - @$(CVT) $< $@ CfgGeosCBM - -lunix.inc: cfg/lunix.cfg - @$(CVT) $< $@ CfgLunix - -lynx.inc: cfg/lynx.cfg - @$(CVT) $< $@ CfgLynx - -module.inc: cfg/module.cfg - @$(CVT) $< $@ CfgModule - -nes.inc: cfg/nes.cfg - @$(CVT) $< $@ CfgNES - -none.inc: cfg/none.cfg - @$(CVT) $< $@ CfgNone - -pet.inc: cfg/pet.cfg - @$(CVT) $< $@ CfgPET - -plus4.inc: cfg/plus4.cfg - @$(CVT) $< $@ CfgPlus4 - -supervision.inc: cfg/supervision.cfg - @$(CVT) $< $@ CfgSupervision - -vic20.inc: cfg/vic20.cfg - @$(CVT) $< $@ CfgVic20 - - diff --git a/src/ld65/tgtcfg.c b/src/ld65/tgtcfg.c deleted file mode 100644 index 2601c20e4..000000000 --- a/src/ld65/tgtcfg.c +++ /dev/null @@ -1,127 +0,0 @@ -/*****************************************************************************/ -/* */ -/* tgtcfg.c */ -/* */ -/* Target machine configurations the ld65 linker */ -/* */ -/* */ -/* */ -/* (C) 1998-2009, Ullrich von Bassewitz */ -/* Roemerstrasse 52 */ -/* D-70794 Filderstadt */ -/* EMail: uz@cc65.org */ -/* */ -/* */ -/* This software is provided 'as-is', without any expressed or implied */ -/* warranty. In no event will the authors be held liable for any damages */ -/* arising from the use of this software. */ -/* */ -/* Permission is granted to anyone to use this software for any purpose, */ -/* including commercial applications, and to alter it and redistribute it */ -/* freely, subject to the following restrictions: */ -/* */ -/* 1. The origin of this software must not be misrepresented; you must not */ -/* claim that you wrote the original software. If you use this software */ -/* in a product, an acknowledgment in the product documentation would be */ -/* appreciated but is not required. */ -/* 2. Altered source versions must be plainly marked as such, and must not */ -/* be misrepresented as being the original software. */ -/* 3. This notice may not be removed or altered from any source */ -/* distribution. */ -/* */ -/*****************************************************************************/ - - - -/* common */ -#include "check.h" - -/* ld65 */ -#include "binfmt.h" -#include "tgtcfg.h" - - - -/*****************************************************************************/ -/* Target configurations */ -/*****************************************************************************/ - - - -/* Actual target configurations, converted into C strings by a perl script */ -#include "apple2.inc" -#include "apple2enh.inc" -#include "atari.inc" -#include "atmos.inc" -#include "bbc.inc" -#include "c128.inc" -#include "c16.inc" -#include "c64.inc" -#include "cbm510.inc" -#include "cbm610.inc" -#include "geos-apple.inc" -#include "geos-cbm.inc" -#include "lunix.inc" -#include "lynx.inc" -#include "module.inc" -#include "nes.inc" -#include "none.inc" -#include "pet.inc" -#include "plus4.inc" -#include "supervision.inc" -#include "vic20.inc" - - - -/*****************************************************************************/ -/* Data */ -/*****************************************************************************/ - - - -/* Target configurations for all systems */ -const TargetDesc Targets[TGT_COUNT] = { - { BINFMT_BINARY, CfgNone }, - { BINFMT_O65, CfgModule }, - { BINFMT_BINARY, CfgAtari }, - { BINFMT_BINARY, CfgVic20 }, - { BINFMT_BINARY, CfgC16 }, - { BINFMT_BINARY, CfgC64 }, - { BINFMT_BINARY, CfgC128 }, - { BINFMT_BINARY, CfgPlus4 }, - { BINFMT_BINARY, CfgCBM510 }, - { BINFMT_BINARY, CfgCBM610 }, - { BINFMT_BINARY, CfgPET }, - { BINFMT_BINARY, CfgBBC }, - { BINFMT_BINARY, CfgApple2 }, - { BINFMT_BINARY, CfgApple2Enh }, - { BINFMT_BINARY, CfgGeosCBM }, - { BINFMT_BINARY, CfgGeosApple }, - { BINFMT_O65, CfgLunix }, - { BINFMT_BINARY, CfgAtmos }, - { BINFMT_BINARY, CfgNES }, - { BINFMT_BINARY, CfgSupervision }, - { BINFMT_BINARY, CfgLynx }, -}; - - - -/*****************************************************************************/ -/* Code */ -/*****************************************************************************/ - - - -void DumpBuiltinConfig (FILE* F, target_t T) -/* Dump a builtin linker configuration */ -{ - /* Check the given parameter */ - PRECONDITION (T > TGT_UNKNOWN && T < TGT_COUNT); - - /* Dump the config */ - fprintf (F, "%s\n", Targets[T].Cfg); -} - - - - diff --git a/src/ld65/tgtcfg.h b/src/ld65/tgtcfg.h deleted file mode 100644 index c37e2f313..000000000 --- a/src/ld65/tgtcfg.h +++ /dev/null @@ -1,81 +0,0 @@ -/*****************************************************************************/ -/* */ -/* tgtcfg.h */ -/* */ -/* Target machine configurations the ld65 linker */ -/* */ -/* */ -/* */ -/* (C) 1998-2003 Ullrich von Bassewitz */ -/* Römerstrasse 52 */ -/* D-70794 Filderstadt */ -/* EMail: uz@cc65.org */ -/* */ -/* */ -/* This software is provided 'as-is', without any expressed or implied */ -/* warranty. In no event will the authors be held liable for any damages */ -/* arising from the use of this software. */ -/* */ -/* Permission is granted to anyone to use this software for any purpose, */ -/* including commercial applications, and to alter it and redistribute it */ -/* freely, subject to the following restrictions: */ -/* */ -/* 1. The origin of this software must not be misrepresented; you must not */ -/* claim that you wrote the original software. If you use this software */ -/* in a product, an acknowledgment in the product documentation would be */ -/* appreciated but is not required. */ -/* 2. Altered source versions must be plainly marked as such, and must not */ -/* be misrepresented as being the original software. */ -/* 3. This notice may not be removed or altered from any source */ -/* distribution. */ -/* */ -/*****************************************************************************/ - - - -#ifndef TGTCFG_H -#define TGTCFG_H - - - -#include - -/* common */ -#include "target.h" - - - -/*****************************************************************************/ -/* Target configurations */ -/*****************************************************************************/ - - - -/* Structure describing a target */ -typedef struct TargetDesc TargetDesc; -struct TargetDesc { - unsigned char BinFmt; /* Default binary format for the target */ - const char* Cfg; /* Pointer to configuration */ -}; - -/* Target configurations for all systems */ -extern const TargetDesc Targets [TGT_COUNT]; - - - -/*****************************************************************************/ -/* Code */ -/*****************************************************************************/ - - - -void DumpBuiltinConfig (FILE* F, target_t T); -/* Dump a builtin linker configuration */ - - - -/* End of tgtcfg.h */ -#endif - - - -- 2.39.5