# You should have received a copy of the GNU General Public License
# along with simavr. If not, see <http://www.gnu.org/licenses/>.
-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
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
IPATH = sim
IPATH += .
IPATH += ../../shared
-IPATH += ../include
#
# Static library
${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/
+ sed -e "s|PREFIX|${PREFIX}|g" -e "s|VERSION|${SIMAVR_VERSION}|g" \
+ simavr-avr.pc >$(DESTDIR)/lib/pkgconfig/simavr-avr.pc
sed -e "s|PREFIX|${PREFIX}|g" -e "s|VERSION|${SIMAVR_VERSION}|g" \
simavr.pc >$(DESTDIR)/lib/pkgconfig/simavr.pc
ifeq (${shell uname}, Linux)
# 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) \
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