]> git.sur5r.net Git - cc65/blob - src/cc65/make/gcc.mak
No SVN version here.
[cc65] / src / cc65 / make / gcc.mak
1 #
2 # Makefile for cross-compiler version of CC65.
3 #
4
5
6
7
8 # ------------------------------------------------------------------------------
9
10 # The executable to build
11 EXE     = cc65
12
13 # Library directories
14 COMMON  = ../common
15
16 # The compiler include search path. Default is "/usr/lib/cc65/include/" if
17 # nothing is defined. You may use CC65_INC=foo on the command line to override it.
18 CC65_INC = \"/usr/lib/cc65/include/\"
19
20 #
21 CC      = gcc
22 CFLAGS  = -O2 -g -Wall -W -std=c89
23 override CFLAGS += -I$(COMMON)
24 override CFLAGS += -DCC65_INC=$(CC65_INC)
25 EBIND   = emxbind
26 LDFLAGS = -lm
27
28 # ------------------------------------------------------------------------------
29 # Object files and libraries to link
30
31 OBJS =  anonname.o      \
32         asmcode.o       \
33         asmlabel.o      \
34         asmstmt.o       \
35         assignment.o    \
36         casenode.o      \
37         codeent.o       \
38         codegen.o       \
39         codelab.o       \
40         codeinfo.o      \
41         codeopt.o       \
42         codeseg.o       \
43         compile.o       \
44         coptadd.o       \
45         coptc02.o       \
46         coptcmp.o       \
47         coptind.o       \
48         coptneg.o       \
49         coptptrload.o   \
50         coptptrstore.o  \
51         coptpush.o      \
52         coptshift.o     \
53         coptsize.o      \
54         coptstop.o      \
55         coptstore.o     \
56         coptsub.o       \
57         copttest.o      \
58         dataseg.o       \
59         datatype.o      \
60         declare.o       \
61         declattr.o      \
62         error.o         \
63         expr.o          \
64         exprdesc.o      \
65         funcdesc.o      \
66         function.o      \
67         global.o        \
68         goto.o          \
69         hexval.o        \
70         ident.o         \
71         incpath.o       \
72         input.o         \
73         lineinfo.o      \
74         litpool.o       \
75         loadexpr.o      \
76         locals.o        \
77         loop.o          \
78         macrotab.o      \
79         main.o          \
80         opcodes.o       \
81         output.o        \
82         preproc.o       \
83         pragma.o        \
84         reginfo.o       \
85         scanner.o       \
86         scanstrbuf.o    \
87         segments.o      \
88         shiftexpr.o     \
89         stackptr.o      \
90         standard.o      \
91         stdfunc.o       \
92         stdnames.o      \
93         stmt.o          \
94         swstmt.o        \
95         symentry.o      \
96         symtab.o        \
97         testexpr.o      \
98         textseg.o       \
99         typecmp.o       \
100         typeconv.o      \
101         util.o
102
103 LIBS =  $(COMMON)/common.a
104
105
106 # ------------------------------------------------------------------------------
107 # Makefile targets
108
109 # Main target - must be first
110 .PHONY: all
111 ifeq (.depend,$(wildcard .depend))
112 all:    $(EXE)
113 include .depend
114 else
115 all:    depend
116         @$(MAKE) -f make/gcc.mak all
117 endif
118
119 $(EXE): $(OBJS) $(LIBS)
120         $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -lm -o $@
121         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $(EXE) ; fi
122
123 clean:
124         $(RM) *~ core.* *.map
125
126 zap:    clean
127         $(RM) $(OBJS) $(EXE) .depend
128
129 # ------------------------------------------------------------------------------
130 # Make the dependencies
131
132 .PHONY: depend dep
133 depend dep:     $(OBJS:.o=.c)
134         @echo "Creating dependency information"
135         $(CC) -I$(COMMON) -MM $^ > .depend