cleanup
[pyfrprog.git] / pkernel / Makefile
1 # note:
2 # when this message appears on build
3 #> "*** F9012D : tool execute is failed (fasm911s)"
4 # you have to set the "Path" environment var in wine.
5 # start 'wine regedit' and create a string "Path" in
6 #> HKEY_CURRENT_USER/Environment
7 # and set it to the output of
8 #> winepath $FUJDEV/Bin
9 # consider you have to set $FUJDEV properly
10
11 ifeq ($(strip $(FUJDEV)),)
12 $(error "Set FUJDEV in your environment. Ususally this is the Rootpath of the Softune installer package. You MUST NOT install it through wine.")
13 endif
14
15 PREFIX = wine $(FUJDEV)/Bin/
16
17 CPUT = -cpu MB91F465X
18
19 CFLAGS = -w 1 -O 4 -B -K SPEED -K LONGADDRESS
20 CFLAGS += -K SCHEDULE -K A1 -K SARG -Xdof
21 CFLAGS += -K EOPT -K LIB -K UNROLL -Xalign
22 CFLAGS += -c -cwno $(CPUT)
23
24 ASFLAGS = -w 2 -O 0 -linf ON -lsrc ON -lsec ON
25 ASFLAGS += -lcros OFF -linc ON -lexp OBJ -pl 60
26 ASFLAGS += -pw 100 -tab 8 -Xdof -cwno $(CPUT)
27
28 LDFLAGS = -AL 2
29 LDFLAGS += -ra D_RAM=0x0002C000/0x0002FFFF
30 LDFLAGS += -ra ID_RAM=0x00030000/0x00031FFF
31 LDFLAGS += -ro ROM_AREA=0x00080000/0x000FFFFF
32 LDFLAGS += -sc DATA/Data+SSTACK/Data=D_RAM
33 LDFLAGS += -sc CODE_START/Code+CODE=ID_RAM
34 LDFLAGS += -check_locate -pl 60 -pw 132 -Xals
35 LDFLAGS += -Xalr -na -w 1 -Xdof -Xset_rora -Xcwno -a $(CPUT)
36
37 LIBRFLAGS = -dt s,d,r,a -pl 60 -pw 132 -cwno $(CPUT)
38
39 CONVFLAGS = -Xcwno -Xdof
40
41 DEFINES =
42
43 TNAME = pkernel
44 TARGET_MHX = $(TNAME).mhx
45 TARGET = $(TNAME).abs
46 DEPDIR = .deps
47
48 #add all objects here
49
50 OBJS = start91460.obj mb91465k.obj main.obj uart.obj flash.obj 
51
52 AS = $(PREFIX)fasm911s
53 CC = $(PREFIX)fcc911s
54 LD = $(PREFIX)flnk911s
55 LIBR = $(PREFIX)flibs
56 CONV = $(PREFIX)f2ms
57
58 all: $(TARGET_MHX)
59
60 upload: $(TARGET_MHX)
61         @echo "  TODO upload"
62
63 $(TARGET_MHX): $(TARGET)
64         @echo "  MAKEMHX   $@"
65         @$(CONV) $(CONVFLAGS) $< -o $@
66
67 $(TARGET): $(OBJS)
68         @echo "  LINK      $@"
69         @$(LD) $(LDFLAGS) -o $@ $(OBJS) -m $(TNAME).map
70
71 %.obj: %.c
72         @echo "  COMPILE   $<"
73         @mkdir -p $(DEPDIR)
74         @echo -n "$@: " > $(DEPDIR)/$<.d
75         @$(CC) -H $(CPUT) $< | dos2unix | paste -s -d " " >> $(DEPDIR)/$<.d
76         @$(CC) $(CFLAGS) $(DEFINES) $< -o $@
77
78 %.obj: %.asm
79         @echo "  ASSEMBLE  $<"
80         @$(AS) $(ASFLAGS) $(DEFINES) $< -o $@
81
82 .PHONY: clean
83 clean:
84         rm -fr $(DEPDIR)
85         rm -f $(TARGET) $(TARGET_MHX) $(OBJS) *.map
86
87 -include $(DEPDIR)/*
88