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