merged flashdemo repo
[pyfrprog.git] / Makefile
1 # TODO: make upload, remove warnings
2
3 # hinweise:
4 # wenn folgende meldung kommt
5 #> "*** F9012D : tool execute is failed (fasm911s)"
6 # per 'wine regedit' den string "Path" in
7 #> HKEY_CURRENT_USER/Environment
8 # setzen, naemlich auf die ausgabe von
9 #> winepath $FUJDEV/Bin
10 # natuerlich muss $FUJDEV richtig gesetzt sein!
11
12 ifeq ($(strip $(FUJDEV)),)
13 $(error "Set FUJDEV in your environment. Ususally this is the Rootpath of the Softune installer. You MUST NOT install it through wine.")
14 endif
15
16 PREFIX = wine $(FUJDEV)/Bin/
17
18 CPUT = -cpu MB91F465K#TODO: change to X
19
20 CFLAGS = -w 1 -O 4 -B -K SPEED -K LONGADDRESS
21 CFLAGS += -K SCHEDULE -K A1 -K SARG -Xdof
22 CFLAGS += -K EOPT -K LIB -K UNROLL -Xalign
23 CFLAGS += -c -cwno $(CPUT)
24
25 ASFLAGS = -w 2 -O 0 -linf ON -lsrc ON -lsec ON
26 ASFLAGS += -lcros OFF -linc ON -lexp OBJ -pl 60
27 ASFLAGS += -pw 100 -tab 8 -Xdof -cwno $(CPUT)
28
29 LDFLAGS = -AL 2
30 LDFLAGS += -ra D_RAM=0x0002E000/0x0002FFFF #TODO try 2C000
31 LDFLAGS += -ra ID_RAM=0x00030000/0x00031FFF
32 LDFLAGS += -ro ROM_AREA=0x00080000/0x000FFFFF
33 LDFLAGS += -ro ROM_AREA_2=0x00148000/0x0014FFFF
34 LDFLAGS += -sc DATA/Data+INIT/Data+SSTACK/Data+USTACK/Data=D_RAM
35 LDFLAGS += -sc IRAM/Code=ID_RAM
36 LDFLAGS += -sc CODE+@INIT+@IRAM+CONST=ROM_AREA
37 LDFLAGS += -sc CODE_START/Code=0x000F4000
38 LDFLAGS += -sc INTVECT/Const=0x000FFC00
39 LDFLAGS += -check_locate -pl 60 -pw 132 -Xals
40 LDFLAGS += -Xalr -na -w 1 -Xdof -Xset_rora -cwno -a $(CPUT)
41
42 LIBRFLAGS = -dt s,d,r,a -pl 60 -pw 132 -cwno $(CPUT)
43
44 CONVFLAGS = -cwno -Xdof
45
46 DEFINES =
47
48 TNAME = fuj
49 TARGET_MHX = $(TNAME).mhx
50 TARGET = $(TNAME).abs
51 DEPDIR = .deps
52
53 #add all objects here
54
55 OBJS = vectors.obj start91460.obj mb91465k.obj main.obj rlt.obj uart.obj flash.obj 
56
57 AS = $(PREFIX)fasm911s
58 CC = $(PREFIX)fcc911s
59 LD = $(PREFIX)flnk911s
60 LIBR = $(PREFIX)flibs
61 CONV = $(PREFIX)f2ms
62
63 all: $(TARGET_MHX)
64
65 upload: $(TARGET_MHX)
66         @echo "  TODO upload"
67
68 $(TARGET_MHX): $(TARGET)
69         @echo "  MAKEMHX   $@"
70         @$(CONV) $(CONVFLAGS) $< -o $@
71
72 $(TARGET): $(OBJS)
73         @echo "  LINK      $@"
74         @$(LD) $(LDFLAGS) -o $@ $(OBJS) -m $(TNAME).map
75
76 %.obj: %.c
77         @echo "  COMPILE   $<"
78         @mkdir -p $(DEPDIR)
79         @echo -n "$@: " > $(DEPDIR)/$<.d
80         @$(CC) -H $(CPUT) $< | dos2unix | paste -s -d " " >> $(DEPDIR)/$<.d
81         @$(CC) $(CFLAGS) $(DEFINES) $< -o $@
82
83 %.obj: %.asm
84         @echo "  ASSEMBLE  $<"
85         @$(AS) $(ASFLAGS) $(DEFINES) $< -o $@
86
87 .PHONY: clean
88 clean:
89         rm -fr $(DEPDIR)
90         rm -f $(TARGET) $(TARGET_MHX) $(OBJS) *.map
91
92 -include $(DEPDIR)/*
93