Files
cc65/src/ca65/make/gcc.mak
uz 02cbc7da25 Moved the segdefs module to ca65, since it was used only there and renamed it
to segdef, since there might be a new segdefs module in common soon.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5381 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-04 22:02:02 +00:00

143 lines
2.6 KiB
Makefile

#
# gcc Makefile for ca65
#
# ------------------------------------------------------------------------------
# The executable to build
EXE = ca65
# Library dir
COMMON = ../common
# Several search paths. You may redefine these on the command line
CA65_INC = \"/usr/lib/cc65/asminc/\"
#
CC = gcc
CFLAGS = -g -O2 -Wall -W -std=c89
override CFLAGS += -I$(COMMON)
override CFLAGS += -DCA65_INC=$(CA65_INC)
EBIND = emxbind
LDFLAGS =
# Perl script for macro file conversion
CVT=macpack/cvt-mac.pl
# -----------------------------------------------------------------------------
# List of all object files
OBJS = anonname.o \
asserts.o \
condasm.o \
dbginfo.o \
ea65.o \
easw16.o \
enum.o \
error.o \
expr.o \
feature.o \
filetab.o \
fragment.o \
global.o \
incpath.o \
instr.o \
istack.o \
lineinfo.o \
listing.o \
macpack.o \
macro.o \
main.o \
nexttok.o \
objcode.o \
objfile.o \
options.o \
pseudo.o \
repeat.o \
scanner.o \
segdef.o \
segment.o \
sizeof.o \
span.o \
spool.o \
struct.o \
studyexpr.o \
symentry.o \
symbol.o \
symtab.o \
token.o \
toklist.o \
ulabel.o
# -----------------------------------------------------------------------------
# List of all macro files
INCS = atari.inc \
cbm.inc \
cpu.inc \
generic.inc \
longbranch.inc
LIBS = $(COMMON)/common.a
# ------------------------------------------------------------------------------
# Makefile targets
# Main target - must be first
.PHONY: all
ifeq (.depend,$(wildcard .depend))
all: $(EXE)
include .depend
else
all: depend
@$(MAKE) -f make/gcc.mak all
endif
$(EXE): $(INCS) $(OBJS) $(LIBS)
$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
@if [ $(OS2_SHELL) ] ; then $(EBIND) $(EXE) ; fi
inc: $(INCS)
clean:
$(RM) *~ core.* *.map
zap: clean
$(RM) *.o $(EXE) $(INCS) .depend
# ------------------------------------------------------------------------------
# Make the dependencies
.PHONY: depend dep
depend dep: $(INCS) $(OBJS:.o=.c)
@echo "Creating dependency information"
$(CC) $(CFLAGS) -MM $(OBJS:.o=.c) > .depend
# -----------------------------------------------------------------------------
# Rules to make config includes
atari.inc: macpack/atari.mac
@$(CVT) $< $@ MacAtari
cbm.inc: macpack/cbm.mac
@$(CVT) $< $@ MacCBM
cpu.inc: macpack/cpu.mac
@$(CVT) $< $@ MacCPU
generic.inc: macpack/generic.mac
@$(CVT) $< $@ MacGeneric
longbranch.inc: macpack/longbranch.mac
@$(CVT) $< $@ MacLongBranch