make: check if git is available before calculate version
[pyfrprog.git] / Makefile
index 2c0483ae3e4a65645a63967767c175fedb35ad21..ee3cabe31e89ec3a0ef6fa6417356fd079689814 100644 (file)
--- 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