summaryrefslogtreecommitdiff
path: root/software/pic.include.mk
blob: 90d54db49e66cc36b84e73a0e983894b0b4b78ab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
##
##  spreadspace pic utils
##
##
##  Copyright (C) 2011 Christian Pointner <equinox@spreadspace.org>
##                         
##  This file is part of spreadspace pic utils.
##
##  spreadspace pic utils is free software: you can redistribute it and/or modify
##  it under the terms of the GNU General Public License as published by
##  the Free Software Foundation, either version 3 of the License, or
##  any later version.
##
##  spreadspace pic utils is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##  GNU General Public License for more details.
##
##  You should have received a copy of the GNU General Public License
##  along with spreadspace pic utils. If not, see <http://www.gnu.org/licenses/>.
##

SRCFILE := $(PROJECT).asm
HEXFILE := $(PROJECT).hex

ASM := gpasm
AFLAGS := 
PROG := usbpicprog

.PHONY: clean distclean program verify erase run stop

all: $(HEXFILE)

-include $(PROJECT).d

$(HEXFILE): $(SRCFILE)
	$(ASM) $(AFLAGS) -M -o $@ $<


distclean: clean
	find . -name *.hex -exec rm -f {} \;
	find . -name *.cod -exec rm -f {} \;
	find . -name *.lst -exec rm -f {} \;
	find . -name "*.\~*" -exec rm -rf {} \;

clean:
	rm -f *.hex
	rm -f *.cod
	rm -f *.lst
	rm -f *.d
	rm -f $(HEXFILE)

program: $(HEXFILE)
	@$(PROG) --stop
	@$(PROG) -p $(PROC_TYPE) -e
	@$(PROG) -p $(PROC_TYPE) -s -w -f $(HEXFILE)
	@$(PROG) -p $(PROC_TYPE) -s -v -f $(HEXFILE)

write: $(HEXFILE)
	@$(PROG) -p $(PROC_TYPE) -s -w -f $(HEXFILE)

verify: $(HEXFILE)
	@$(PROG) -p $(PROC_TYPE) -s -v -f $(HEXFILE)

erase:
	@$(PROG) -p $(PROC_TYPE) -e

run:
	@$(PROG) --run

stop:
	@$(PROG) --stop