⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 AVR单片机定点计算函数说明及C源码。包括定点求解平方根和对数。还打包了一个外国网站上的Fixed Point Library。定将给开发工作带来极大的方便。
💻
字号:
#     __ ____  _________
#    /_ \\\  \/   /|    \______
#   //   \\\     /|| D  /_    /.
#  //     \\\_  /.||    \ ___/.
# /___/\___\\__/. |__|\__\__.___  ___ 
#  ....  .......   ...||  _/_\  \////. 
#                     || |.| |\  ///.
#                     |__|.|_|///  \
#                      .... ./__/\__\
#                             ........
# Fixed Point Library
# according to
# ISO/IEC DTR 18037
#
# Version 0.0.5
# Maximilan Rosenblattl, Andreas Wolf 2004-10-12
# Targets:
#  lib         create library file
#  <none>,all  all of the above
#  clean       clean up
#

#-------------------------------------------------------------------------
# project specific things
#-------------------------------------------------------------------------

PROJNAME = avrfix

LIBNAME  = lib$(PROJNAME).a
OBJS     = smulskD.o smulskS.o sdivskD.o sdivskS.o countlssk.o roundskD.o roundskS.o mulkD.o mulkS.o lmullkD.o lmullkS.o divkD.o divkS.o ldivlkD.o ldivlkS.o roundkD.o roundkS.o roundlkD.o roundlkS.o countlsk.o sincosk.o lsincoslk.o lsincosk.o tankD.o tankS.o ltanlkD.o ltanlkS.o ltankD.o ltankS.o atan2k.o latan2lk.o sqrt.o cordicck.o cordichk.o logk.o lloglk.o cordiccsk.o cordichsk.o ssincossk.o

# target architecture
MCU	= atmega16

#-------------------------------------------------------------------------
# macros for the tools
#-------------------------------------------------------------------------

# Tools
CC	= avr-gcc
AR = ar
AS	= avr-as
ASLD	= avr-gcc -x assembler
LD	= avr-ld
OBJCOPY = avr-objcopy
SRECSIZE = ./srecsize
toupper = $(subst z,Z,$(subst y,Y,$(subst x,X,$(subst w,W,$(subst v,V,$(subst u,U,$(subst t,T,$(subst s,S,$(subst r,R,$(subst q,Q,$(subst p,P,$(subst o,O,$(subst n,N,$(subst m,M,$(subst l,L,$(subst k,K,$(subst j,J,$(subst i,I,$(subst h,H,$(subst g,G,$(subst f,F,$(subst e,E,$(subst d,D,$(subst c,C,$(subst b,B,$(subst a,A,$(1)))))))))))))))))))))))))))

# Flags
CFLAGS  = -mmcu=$(MCU) -Wall -Os -ansi
LDFLAGS = -Wl,-Map=$*.map,-L=. -l$(PROJNAME)

#-------------------------------------------------------------------------
# the targets
#-------------------------------------------------------------------------
all: lib

lib: $(LIBNAME)

# library
$(LIBNAME): $(OBJS)
	$(AR) -rcsv $@ $(OBJS)
	rm -f *.o *.list

$(OBJS):	avrfix.c avrfix.h $(SRECSIZE)
	$(CC) $(CFLAGS) -D $(call toupper,$*) -Wa,-a=$*.list -c -o $@ avrfix.c
	$(OBJCOPY) -O srec $@ $*.srec
	$(SRECSIZE) $* < $*.srec >> sizes.txt
	rm $*.srec

$(SRECSIZE): srecsize.c
	gcc -o $(SRECSIZE) srecsize.c

clean:
	rm -f $(LIBNAME) $(OBJS) *.list sizes.txt $(subst .o,.size,$(OBJS))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -