Home Code Examples Makefiles
Makefile examples
Makefile examples PDF Print E-mail
Written by webmaster   
Sunday, 22 June 2008 14:13
# change this to your program name
PROG_NAME = Schrittmotor.hex
# list your object files

DEBUG = #-DUSB_USE_UART #-DDEBUG_UART -DDEBUG -DDEBUG_PRINT

PIC_TYPE = PIC18F2620
sdcc_PIC_TYPE = 18f2620
lkr_PIC_TYPE = 18f2620
TOOLSDIR = /usr/local/
CC = $(TOOLSDIR)/bin/sdcc
CFLAGS = -mpic16 -p$(sdcc_PIC_TYPE) $(DEBUG) --opt-code-size --optimize-cmp --optimize-df #--denable-peeps
LNK = $(TOOLSDIR)/bin/sdcc
INC = -I.
LDFLAGS = -L$(TOOLSDIR)/share/sdcc/lib/pic16/
CRT = --use-crt=crt0iz.o
#DEBUG = --denable-peeps --obanksel=9 --opt-code-size --optimize-cmp --optimize-df --fstack

# for code beautifier
CODESTYLE=-s -bcl -tbcl -i 2 -f 2 -yb -cc 40 -nc 2

all: $(PROG_NAME)

.c.o:
    $(CC)  $(CFLAGS) $(INC) -c $<

#rule to link the final executable
$(PROG_NAME): i2c_slave.o timer.o pwm.o main.o
    $(LNK) $(DEBUG) $(LDFLAGS) $(CRT) -Wl-s$(lkr_PIC_TYPE).lkr,-m -mpic16 -p$(sdcc_PIC_TYPE) $+ -o $(@) -llibio$(sdcc_PIC_TYPE).lib -llibc18f.lib
#
prog: $(PROG_NAME)
    piklab-prog --programmer=direct --port=/dev/parport0 --device=$(sdcc_PIC_TYPE) --command=program $(PROG_NAME)

clean:
    rm -f *.o *.rel *.lst *.cod *.hex *.map *.asm

erase:
    piklab-prog --programmer=direct --port=/dev/parport0 --device=$(sdcc_PIC_TYPE) --command=erase

beautify:
    ls *.c | xargs -I{} -t bcpp $(CODESTYLE) {}
    ls *.h | xargs -I{} -t bcpp $(CODESTYLE) {}
Last Updated on Sunday, 22 June 2008 14:18