Makefile cleanup. Among other things, allow use of the --as-needed linker flag

by rearranging arguments for the linker.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3922 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2009-02-08 17:19:45 +00:00
parent 4c88db2d4b
commit 823d0b7636
10 changed files with 133 additions and 98 deletions

View File

@@ -2,6 +2,11 @@
# gcc Makefile for ca65
#
# ------------------------------------------------------------------------------
# The executable to build
EXE = ca65
# Library dir
COMMON = ../common
@@ -55,43 +60,43 @@ OBJS = anonname.o \
symtab.o \
token.o \
toklist.o \
ulabel.o
ulabel.o
# -----------------------------------------------------------------------------
# List of all macro files
INCS = atari.inc \
cbm.inc \
cpu.inc \
generic.inc \
cpu.inc \
generic.inc \
longbranch.inc
# -----------------------------------------------------------------------------
LIBS = $(COMMON)/common.a
EXECS = ca65
# ------------------------------------------------------------------------------
# Makefile targets
# Main target - must be first
.PHONY: all
ifeq (.depend,$(wildcard .depend))
all : $(EXECS)
all: $(EXE)
include .depend
else
all: depend
@$(MAKE) -f make/gcc.mak all
endif
ca65: $(INCS) $(OBJS) $(LIBS)
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
@if [ $(OS2_SHELL) ] ; then $(EBIND) $@ ; fi
$(EXE): $(INCS) $(OBJS) $(LIBS)
$(CC) $(OBJS) $(LIBS) $(LDFLAGS) -o $@
@if [ $(OS2_SHELL) ] ; then $(EBIND) $(EXE) ; fi
inc: $(INCS)
clean:
rm -f *~ core *.lst
$(RM) *~ core.* *.map
zap: clean
rm -f *.o $(EXECS) $(INCS) .depend
$(RM) *.o $(EXE) $(INCS) .depend
# ------------------------------------------------------------------------------
# Make the dependencies