new global_logger, used in AVR_LOG(), default is stdout/stderr
[simavr] / simavr / Makefile
index 5382e4d..bfac68f 100644 (file)
 #      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
 
@@ -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,10 +79,15 @@ endif
 ${OBJ}/${target}.elf   : ${OBJ}/${target}.o
 
 ${target}      : ${OBJ}/${target}.elf
+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}
@@ -88,7 +96,7 @@ install : all
        $(MKDIR) $(DESTDIR)/include/simavr/avr
        $(INSTALL) -m644 sim/*.h $(DESTDIR)/include/simavr/
        $(INSTALL) -m644 sim_core_*.h $(DESTDIR)/include/simavr/
-       $(INSTALL) -m644 ../include/*.h $(DESTDIR)/include/simavr/avr/
+       $(INSTALL) -m644 sim/avr/*.h $(DESTDIR)/include/simavr/avr/
        $(MKDIR) $(DESTDIR)/lib
        $(INSTALL) ${OBJ}/libsimavr.a $(DESTDIR)/lib/
        $(MKDIR) $(DESTDIR)/lib/pkgconfig/
@@ -109,7 +117,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 +168,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