]> git.sur5r.net Git - cc65/blob - src/cc65/make/gcc.mak
c52ad65fee1330f0b62e1154cec0619317d2ee66
[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 -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         assignment.o    \
30         casenode.o      \
31         codeent.o       \
32         codegen.o       \
33         codelab.o       \
34         codeinfo.o      \
35         codeopt.o       \
36         codeseg.o       \
37         compile.o       \
38         coptadd.o       \
39         coptc02.o       \
40         coptcmp.o       \
41         coptind.o       \
42         coptneg.o       \
43         coptpush.o      \
44         coptsize.o      \
45         coptstop.o      \
46         coptstore.o     \
47         coptsub.o       \
48         copttest.o      \
49         cpu.o           \
50         dataseg.o       \
51         datatype.o      \
52         declare.o       \
53         declattr.o      \
54         error.o         \
55         expr.o          \
56         exprdesc.o      \
57         exprheap.o      \
58         exprnode.o      \
59         funcdesc.o      \
60         function.o      \
61         global.o        \
62         goto.o          \
63         hexval.o        \
64         ident.o         \
65         incpath.o       \
66         input.o         \
67         lineinfo.o      \
68         litpool.o       \
69         locals.o        \
70         loop.o          \
71         macrotab.o      \
72         main.o          \
73         opcodes.o       \
74         preproc.o       \
75         pragma.o        \
76         reginfo.o       \
77         scanner.o       \
78         scanstrbuf.o    \
79         segments.o      \
80         stdfunc.o       \
81         stmt.o          \
82         swstmt.o        \
83         symentry.o      \
84         symtab.o        \
85         textseg.o       \
86         typecast.o      \
87         typecmp.o       \
88         util.o
89
90 LIBS =  $(COMMON)/common.a
91
92
93 # ------------------------------------------------------------------------------
94 # Makefile targets
95
96 # Main target - must be first
97 .PHONY: all
98 ifeq (.depend,$(wildcard .depend))
99 all:    $(EXE)
100 include .depend
101 else
102 all:    depend
103         @$(MAKE) -f make/gcc.mak all
104 endif
105
106 $(EXE): $(OBJS) $(LIBS)
107         $(CC) $(LDFLAGS) -o $(EXE) $(CFLAGS) $(OBJS) $(LIBS)
108         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $(EXE) ; fi
109
110 clean:
111         rm -f *~ core *.map
112
113 zap:    clean
114         rm -f *.o $(EXE) .depend
115
116 # ------------------------------------------------------------------------------
117 # Make the dependencies
118
119 .PHONY: depend dep
120 depend dep:     $(OBJS:.o=.c)
121         @echo "Creating dependency information"
122         $(CC) -I$(COMMON) -MM $^ > .depend
123
124
125