rockbox/rbutil/rbutilqt/msvc/Makefile
Dominik Riebeling d30c500b96 Make clean target work for MSVC dll Makefile on Windows.
Change-Id: Ifb9a00530720e0997421af9a07ae8c133f0edfd0
2014-06-30 17:57:24 +02:00

61 lines
1.8 KiB
Makefile

# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
#
ifndef V
SILENT = @
endif
# The rbspeex Makefile has problems with msys' path mangling as well as running
# MSVC's lib tool. Use TOP instead of pwd. This means the resulting files will
# always be placed in this folder.
# On Linux use the current folder instead.
TOP := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
LIBS = ipodpatcher sansapatcher chinachippatcher \
mkamsboot mkimxboot mkmpioboot mktccboot \
ucl rbspeex
# on Windows uname is not available. However, the environment variable OS holds
# Windows_NT so check that instead.
ifneq ($(OS),Windows_NT)
PWD=$(shell pwd)
RM=rm -rf
all: dll
else
PWD=$(abspath $(TOP))
RM=del /q /f
all: lib
endif
CC=gcc
dll: $(addsuffix .dll,$(LIBS))
ucl.dll:
$(SILENT)$(MAKE) -C ../../../tools/ucl/src \
TARGET_DIR=$(PWD)/ OBJDIR=$(PWD)/build-dll/$(basename $@) \
CROSS=$(CROSS) CC=$(CC) APPVERSION=dll dll
rbspeex.dll:
$(SILENT)$(MAKE) -C ../../../tools/rbspeex \
TARGET_DIR=$(PWD)/ BUILD_DIR=$(PWD)/build-dll/$(basename $@) \
CROSS=$(CROSS) CC=$(CC) STATIC=1 APPVERSION=dll dll
%.dll:
$(SILENT)$(MAKE) -C ../../$(basename $@) \
TARGET_DIR=$(PWD)/ BUILD_DIR=$(PWD)/build-dll/$(basename $@) \
CROSS=$(CROSS) CC=$(CC) APPVERSION=dll dll
lib: $(addsuffix .lib,$(LIBS))
%.lib: %.dll
@echo LIB $@
@lib /machine:x86 /nologo /def:$(basename $<).def
clean:
$(RM) $(addsuffix .dll,$(LIBS))
$(RM) $(addsuffix .def,$(LIBS))
$(RM) $(addsuffix .exp,$(LIBS))
$(RM) $(addsuffix .lib,$(LIBS))
$(RM) build-dll