X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=simavr%2FMakefile;h=080651c1d79a6c0fce7c0fc702abdafede89f1b6;hb=c78cd2648c7a18b1aa248c7ac61e83e2bfa05f15;hp=afaae9f8e60529aa4a6884f41e35c3001ff2dd05;hpb=31e9a0ab40f0add1b0ee6db40211c5fe7bec5585;p=simavr diff --git a/simavr/Makefile b/simavr/Makefile index afaae9f..080651c 100644 --- a/simavr/Makefile +++ b/simavr/Makefile @@ -16,13 +16,17 @@ # You should have received a copy of the GNU General Public License # along with simavr. If not, see . -SIMAVR_VERSION = ${shell git tag |tail -1|sed 's/[^0-9]*//'} +SHELL := ${shell which bash} +SIMAVR_VERSION := ${shell \ + { git log -1 --tags --simplify-by-decoration --pretty="format:%d"|\ + sed -e 's/[\(\) ]//g'; } || \ + echo "unknown" } SIMAVR_REVISION = 2 target = run_avr CFLAGS += -Werror -# tracing id useful especialy if you develop simavr core. +# tracing is useful especialy if you develop simavr core. # it otherwise eat quite a bit of few cycles, even disabled #CFLAGS += -DCONFIG_SIMAVR_TRACE=1 @@ -30,9 +34,9 @@ all: obj config libsimavr ${target} include ../Makefile.common -cores = ${wildcard cores/*.c} -sim = ${wildcard sim/sim_*.c} ${wildcard sim/avr_*.c} -sim_o = ${patsubst sim/%.c, ${OBJ}/%.o, ${sim}} +cores := ${wildcard cores/*.c} +sim := ${wildcard sim/sim_*.c} ${wildcard sim/avr_*.c} +sim_o := ${patsubst sim/%.c, ${OBJ}/%.o, ${sim}} VPATH = cores VPATH += sim @@ -40,7 +44,6 @@ VPATH += sim IPATH = sim IPATH += . IPATH += ../../shared -IPATH += ../include # # Static library @@ -76,19 +79,26 @@ endif ${OBJ}/${target}.elf : ${OBJ}/${target}.o ${target} : ${OBJ}/${target}.elf + +# FIXME uname -o doesn't work on BSD +#ifeq (${shell uname -o}, Msys) +# ln -sf $< $@.exe +#else ln -sf $< $@ +#endif clean: clean-${OBJ} - rm -rf ${target} *.a *.so + rm -rf ${target} *.a *.so *.exe + rm -f sim_core_*.h DESTDIR = /usr/local PREFIX = ${DESTDIR} install : all $(MKDIR) $(DESTDIR)/include/simavr/avr - $(INSTALL) sim/*.h $(DESTDIR)/include/simavr/ - $(INSTALL) sim_core_*.h $(DESTDIR)/include/simavr/ - $(INSTALL) ../include/*.h $(DESTDIR)/include/simavr/avr/ + $(INSTALL) -m644 sim/*.h $(DESTDIR)/include/simavr/ + $(INSTALL) -m644 sim_core_*.h $(DESTDIR)/include/simavr/ + $(INSTALL) -m644 sim/avr/*.h $(DESTDIR)/include/simavr/avr/ $(MKDIR) $(DESTDIR)/lib $(INSTALL) ${OBJ}/libsimavr.a $(DESTDIR)/lib/ $(MKDIR) $(DESTDIR)/lib/pkgconfig/ @@ -109,7 +119,7 @@ endif # in simavr officialy, this section shall diseapear debian: rm -rf /tmp/simavr-tmp && mkdir -p /tmp/simavr-tmp/usr && \ - make install DESTDIR=/tmp/simavr-tmp/usr && \ + make cleam; make install DESTDIR=/tmp/simavr-tmp/usr RELEASE=1 && \ (cd /tmp/simavr-tmp && \ fpm -s dir -t deb -C /tmp/simavr-tmp -n libsimavr -v $(SIMAVR_VERSION) \ --iteration $(SIMAVR_REVISION) \ @@ -160,6 +170,7 @@ sim_core_config.h ${OBJ}/cores.deps: $(cores) Makefile done ; \ ( printf "// Autogenerated do not edit\n"; \ printf "#ifndef __SIM_CORE_CONFIG_H__\n#define __SIM_CORE_CONFIG_H__\n\n"; \ + printf "#define CONFIG_SIMAVR_VERSION \"${SIMAVR_VERSION}\"\n"; \ printf "$$conf\n"; \ printf "#endif\n"; \ ) >sim_core_config.h