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 73 74 75 76 77 78 79
|
# Example
#
#
# system programs
RM = /bin/rm -f
ARC = tar -cvf
GZIP = gzip
ZIP = zip
# gpasm programs
ASM = gpasm
DIASM = gpdasm
CODVIEWER = gpvc -d
# simulator
GPSIM = gpsim
# Programmer
DEVICE = 16F84
SERIAL_PORT = /dev/ttyS1
PROG = picp $(SERIAL_PORT) $(DEVICE) -wp
# project data
PROJECT = stack_test
VERSION = 1
SOURCES = stack_test.asm stack_test.stc
HEADER = /usr/local/share/gpasm/header
DIST_FILES = $(SOURCES) \
stack_test.hex stack_test.asm stack_test.stc \
ChangeLog \
Makefile \
README
# derived variables
PROJ_VER = $(PROJECT)-$(VERSION)
ARCHIVE = $(PROJ_VER).tar
ZIP_PROJ_VER = $(PROJECT)$(VERSION)
ZIPARCHIVE = $(ZIP_PROJ_VER)
LATEST_HEX = $(PROJECT)$(VERSION).hex
all: $(PROJECT).cod
sim: $(PROJECT).cod
$(GPSIM) -c $(PROJECT).stc
$(PROJECT).cod: $(SOURCES)
$(ASM) -I $(HEADER) $(PROJECT).asm
#$(PROJECT).hex: $(PROJECT).asm
# $(ASM) -I $(HEADER) $(PROJECT).asm
$(ARCHIVE): $(DIST_FILES)
mkdir $(PROJ_VER)
cp $(DIST_FILES) $(PROJ_VER)/.
$(ARC) $(ARCHIVE) $(PROJ_VER)
rm -rf $(PROJ_VER)
#zip: $(DIST_FILES)
zip: $(PROJECT).cod
mkdir $(ZIP_PROJ_VER)
cp $(DIST_FILES) $(ZIP_PROJ_VER)/.
cp $(PROJECT).hex $(ZIP_PROJ_VER)/$(LATEST_HEX)
cp $(PROJECT).hex $(LATEST_HEX)
$(ZIP) -r $(ZIP_PROJ_VER) $(ZIP_PROJ_VER)
rm -rf $(ZIP_PROJ_VER)
archive: $(ARCHIVE)
$(GZIP) $(ARCHIVE)
prog: $(PROJECT).cod
$(PROG) $(PROJECT).hex
clean:
$(RM) *.lst *.cod $(PROJECT)*.gz *~
|