X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=pyfrprog.git;a=blobdiff_plain;f=Makefile;h=ee3cabe31e89ec3a0ef6fa6417356fd079689814;hp=347d674a8484be17ce44f67b2201b77aba4b57c3;hb=HEAD;hpb=3268b0fc9a368335cf05e1d5244ad6fa4ab662ee diff --git a/Makefile b/Makefile index 347d674..ee3cabe 100644 --- a/Makefile +++ b/Makefile @@ -1,93 +1,30 @@ -# TODO: make upload, remove warnings +PREFIX = /usr -# hinweise: -# wenn folgende meldung kommt -#> "*** F9012D : tool execute is failed (fasm911s)" -# per 'wine regedit' den string "Path" in -#> HKEY_CURRENT_USER/Environment -# setzen, naemlich auf die ausgabe von -#> winepath $FUJDEV/Bin -# natuerlich muss $FUJDEV richtig gesetzt sein! - -ifeq ($(strip $(FUJDEV)),) -$(error "Set FUJDEV in your environment. Ususally this is the Rootpath of the Softune installer. You MUST NOT install it through wine.") +ifeq ($(shell which git > /dev/null 2> /dev/null; echo $$?),0) +VERSION = $(shell git describe --abbrev=6) +else +VERSION = v0.1-XXX endif -PREFIX = wine $(FUJDEV)/Bin/ - -CPUT = -cpu MB91F465K#TODO: change to X - -CFLAGS = -w 1 -O 4 -B -K SPEED -K LONGADDRESS -CFLAGS += -K SCHEDULE -K A1 -K SARG -Xdof -CFLAGS += -K EOPT -K LIB -K UNROLL -Xalign -CFLAGS += -c -cwno $(CPUT) - -ASFLAGS = -w 2 -O 0 -linf ON -lsrc ON -lsec ON -ASFLAGS += -lcros OFF -linc ON -lexp OBJ -pl 60 -ASFLAGS += -pw 100 -tab 8 -Xdof -cwno $(CPUT) - -LDFLAGS = -AL 2 -LDFLAGS += -ra D_RAM=0x0002E000/0x0002FFFF #TODO try 2C000 -LDFLAGS += -ra ID_RAM=0x00030000/0x00031FFF -LDFLAGS += -ro ROM_AREA=0x00080000/0x000FFFFF -LDFLAGS += -ro ROM_AREA_2=0x00148000/0x0014FFFF -LDFLAGS += -sc DATA/Data+INIT/Data+SSTACK/Data+USTACK/Data=D_RAM -LDFLAGS += -sc IRAM/Code=ID_RAM -LDFLAGS += -sc CODE+@INIT+@IRAM+CONST=ROM_AREA -LDFLAGS += -sc CODE_START/Code=0x000F4000 -LDFLAGS += -sc INTVECT/Const=0x000FFC00 -LDFLAGS += -check_locate -pl 60 -pw 132 -Xals -LDFLAGS += -Xalr -na -w 1 -Xdof -Xset_rora -cwno -a $(CPUT) - -LIBRFLAGS = -dt s,d,r,a -pl 60 -pw 132 -cwno $(CPUT) - -CONVFLAGS = -cwno -Xdof - -DEFINES = - -TNAME = fuj -TARGET_MHX = $(TNAME).mhx -TARGET = $(TNAME).abs -DEPDIR = .deps - -#add all objects here - -OBJS = vectors.obj start91460.obj mb91465k.obj main.obj rlt.obj uart.obj flash.obj - -AS = $(PREFIX)fasm911s -CC = $(PREFIX)fcc911s -LD = $(PREFIX)flnk911s -LIBR = $(PREFIX)flibs -CONV = $(PREFIX)f2ms - -all: $(TARGET_MHX) - -upload: $(TARGET_MHX) - @echo " TODO upload" - -$(TARGET_MHX): $(TARGET) - @echo " MAKEMHX $@" - @$(CONV) $(CONVFLAGS) $< -o $@ - -$(TARGET): $(OBJS) - @echo " LINK $@" - @$(LD) $(LDFLAGS) -o $@ $(OBJS) -m $(TNAME).map - -%.obj: %.c - @echo " COMPILE $<" - @mkdir -p $(DEPDIR) - @echo -n "$@: " > $(DEPDIR)/$<.d - @$(CC) -H $(CPUT) $< | dos2unix | paste -s -d " " >> $(DEPDIR)/$<.d - @$(CC) $(CFLAGS) $(DEFINES) $< -o $@ +all: + make -C pkernel/ -%.obj: %.asm - @echo " ASSEMBLE $<" - @$(AS) $(ASFLAGS) $(DEFINES) $< -o $@ +#install: all #this just work when $FUJDEV is set for root too, eh? +install: + sed -e 's/%PREFIX%/\$(PREFIX)/g' frprog.py | sed -e 's/%VERSION%/$(VERSION)/g'> $(PREFIX)/bin/frprog + cp SerialPort_linux.py $(PREFIX)/bin/SerialPort_linux.py + mkdir -p $(PREFIX)/share/frprog/ + cp pkernel/pkernel.mhx $(PREFIX)/share/frprog/pkernel.mhx + chmod a+rx $(PREFIX)/bin/frprog + chmod a+r $(PREFIX)/bin/SerialPort_linux.py + chmod a+r $(PREFIX)/share/frprog/pkernel.mhx -.PHONY: clean -clean: - rm -fr $(DEPDIR) - rm -f $(TARGET) $(TARGET_MHX) $(OBJS) *.map +uninstall: + rm -R $(PREFIX)/share/frprog + rm $(PREFIX)/bin/frprog + rm $(PREFIX)/bin/SerialPort_linux.py --include $(DEPDIR)/* +pylint: frprog.py + pylint --indent-string="\t" $< +.PHONY: uninstall