]> git.sur5r.net Git - cc65/blob - src/da65/make/gcc.mak
44b4c954a699db57c977b6805669142a4fab2c5e
[cc65] / src / da65 / make / gcc.mak
1 #
2 # gcc Makefile for da65
3 #
4
5 # ------------------------------------------------------------------------------
6
7 # The executable to build
8 EXE     = da65
9
10 # Library dir
11 COMMON  = ../common
12
13 #
14 CC      = gcc
15 CFLAGS  = -g -O2 -Wall -W -std=c89
16 override CFLAGS += -I$(COMMON)
17 EBIND   = emxbind
18 LDFLAGS =
19
20
21 # -----------------------------------------------------------------------------
22 # List of all object files
23
24 OBJS =  asminc.o        \
25         attrtab.o       \
26         code.o          \
27         comments.o      \
28         data.o          \
29         error.o         \
30         global.o        \
31         handler.o       \
32         infofile.o      \
33         labels.o        \
34         main.o          \
35         opc6502.o       \
36         opc65816.o      \
37         opc65c02.o      \
38         opc65sc02.o     \
39         opctable.o      \
40         output.o        \
41         scanner.o       \
42         segment.o
43
44 LIBS = $(COMMON)/common.a
45
46
47 # ------------------------------------------------------------------------------
48 # Makefile targets
49
50 # Main target - must be first
51 .PHONY: all
52 ifeq (.depend,$(wildcard .depend))
53 all:    $(EXE)
54 include .depend
55 else
56 all:    depend
57         @$(MAKE) -f make/gcc.mak all
58 endif
59
60 $(EXE): $(OBJS) $(LIBS)
61         $(CC) $^ $(LDFLAGS) -o $@
62         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $(EXE) ; fi
63
64 clean:
65         $(RM) *~ core.* *.map
66
67 zap:    clean
68         $(RM) *.o $(EXE) .depend
69
70 # ------------------------------------------------------------------------------
71 # Make the dependencies
72
73 .PHONY: depend dep
74 depend dep:     $(OBJS:.o=.c)
75         @echo "Creating dependency information"
76         $(CC) $(CFLAGS) -MM $^ > .depend
77
78