]> git.sur5r.net Git - cc65/blob - src/cc65/make/gcc.mak
More optimizations
[cc65] / src / cc65 / make / gcc.mak
1 #
2 # Makefile for cross-compiler version of CC65.
3 #
4
5
6
7 # ------------------------------------------------------------------------------
8
9 # The executable to build
10 EXE     = cc65
11
12 # Library directories
13 COMMON  = ../common
14
15 # Default for the compiler lib search path as compiler define
16 CDEFS=-DCC65_INC=\"/usr/lib/cc65/include/\"
17 CFLAGS = -O2 -g -Wall -W -Wno-unused-parameter -I$(COMMON) $(CDEFS)
18 CC=gcc
19 EBIND=emxbind
20 LDFLAGS=
21
22 # ------------------------------------------------------------------------------
23 # Object files and libraries to link
24
25 OBJS =  anonname.o      \
26         asmcode.o       \
27         asmlabel.o      \
28         asmstmt.o       \
29         codeent.o       \
30         codegen.o       \
31         codelab.o       \
32         codeinfo.o      \
33         codeopt.o       \
34         codeseg.o       \
35         compile.o       \
36         coptind.o       \
37         coptstop.o      \
38         cpu.o           \
39         dataseg.o       \
40         datatype.o      \
41         declare.o       \
42         declattr.o      \
43         error.o         \
44         expr.o          \
45         exprheap.o      \
46         exprnode.o      \
47         funcdesc.o      \
48         function.o      \
49         global.o        \
50         goto.o          \
51         ident.o         \
52         incpath.o       \
53         input.o         \
54         lineinfo.o      \
55         litpool.o       \
56         locals.o        \
57         loop.o          \
58         macrotab.o      \
59         main.o          \
60         opcodes.o       \
61         preproc.o       \
62         pragma.o        \
63         reginfo.o       \
64         scanner.o       \
65         segments.o      \
66         stdfunc.o       \
67         stmt.o          \
68         symentry.o      \
69         symtab.o        \
70         textseg.o       \
71         typecmp.o       \
72         util.o
73
74 LIBS =  $(COMMON)/common.a
75
76
77 # ------------------------------------------------------------------------------
78 # Makefile targets
79
80 # Main target - must be first
81 .PHONY: all
82 ifeq (.depend,$(wildcard .depend))
83 all:    $(EXE)
84 include .depend
85 else
86 all:    depend
87         @$(MAKE) -f make/gcc.mak all
88 endif
89
90 $(EXE): $(OBJS) $(LIBS)
91         $(CC) $(LDFLAGS) -o $(EXE) $(CFLAGS) $(OBJS) $(LIBS)
92         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $(EXE) ; fi
93
94 clean:
95         rm -f *~ core *.map
96
97 zap:    clean
98         rm -f *.o $(EXE) .depend
99
100 # ------------------------------------------------------------------------------
101 # Make the dependencies
102
103 .PHONY: depend dep
104 depend dep:     $(OBJS:.o=.c)
105         @echo "Creating dependency information"
106         $(CC) -I$(COMMON) -MM $^ > .depend
107
108
109