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