]> git.sur5r.net Git - cc65/blob - src/cc65/make/gcc.mak
Change the OptStackOps function so that it adjusts the instruction pointer
[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 # Determine the svn version number if possible
29 ifneq "$(shell which svnversion 2>/dev/null)" ""
30 ifneq "$(wildcard .svn)" ""
31 SVNVERSION=$(shell svnversion)
32 else
33 SVNVERSION=unknown
34 endif
35 else
36 SVNVERSION=unknown
37 endif
38
39 # ------------------------------------------------------------------------------
40 # Object files and libraries to link
41
42 OBJS =  anonname.o      \
43         asmcode.o       \
44         asmlabel.o      \
45         asmstmt.o       \
46         assignment.o    \
47         casenode.o      \
48         codeent.o       \
49         codegen.o       \
50         codelab.o       \
51         codeinfo.o      \
52         codeopt.o       \
53         codeseg.o       \
54         compile.o       \
55         coptadd.o       \
56         coptc02.o       \
57         coptcmp.o       \
58         coptind.o       \
59         coptneg.o       \
60         coptptrload.o   \
61         coptpush.o      \
62         coptsize.o      \
63         coptstop.o      \
64         coptstore.o     \
65         coptsub.o       \
66         copttest.o      \
67         dataseg.o       \
68         datatype.o      \
69         declare.o       \
70         declattr.o      \
71         error.o         \
72         expr.o          \
73         exprdesc.o      \
74         funcdesc.o      \
75         function.o      \
76         global.o        \
77         goto.o          \
78         hexval.o        \
79         ident.o         \
80         incpath.o       \
81         input.o         \
82         lineinfo.o      \
83         litpool.o       \
84         loadexpr.o      \
85         locals.o        \
86         loop.o          \
87         macrotab.o      \
88         main.o          \
89         opcodes.o       \
90         output.o        \
91         preproc.o       \
92         pragma.o        \
93         reginfo.o       \
94         scanner.o       \
95         scanstrbuf.o    \
96         segments.o      \
97         shiftexpr.o     \
98         stackptr.o      \
99         standard.o      \
100         stdfunc.o       \
101         stdnames.o      \
102         stmt.o          \
103         svnversion.o    \
104         swstmt.o        \
105         symentry.o      \
106         symtab.o        \
107         testexpr.o      \
108         textseg.o       \
109         typecmp.o       \
110         typeconv.o      \
111         util.o
112
113 LIBS =  $(COMMON)/common.a
114
115
116 # ------------------------------------------------------------------------------
117 # Makefile targets
118
119 # Main target - must be first
120 .PHONY: all
121 ifeq (.depend,$(wildcard .depend))
122 all:    svnversion $(EXE)
123 include .depend
124 else
125 all:    depend
126         @$(MAKE) -f make/gcc.mak all
127 endif
128
129 $(EXE): $(OBJS) $(LIBS)
130         $(CC) $(OBJS) $(LIBS) $(LDFLAGS) -o $@
131         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $(EXE) ; fi
132
133 .PHONY: svnversion
134 svnversion:
135         @$(RM) svnversion.c
136         @echo "/* This file is auto-generated - do not modify! */" >> svnversion.c
137         @echo "" >> svnversion.c
138         @echo "const char SVNVersion[] = \"$(SVNVERSION)\";" >> svnversion.c
139
140 svnversion.c:   svnversion
141
142 clean:
143         $(RM) *~ core.* *.map
144
145 zap:    clean
146         $(RM) $(OBJS) $(EXE) .depend svnversion.c
147
148 # ------------------------------------------------------------------------------
149 # Make the dependencies
150
151 .PHONY: depend dep
152 depend dep:     $(OBJS:.o=.c)
153         @echo "Creating dependency information"
154         $(CC) -I$(COMMON) -MM $^ > .depend
155
156
157