makefile在windows中的某些命令后停止

时间:2016-12-20 15:15:57

标签: windows cordova makefile

这是我第一次使用makefile来简化我的混合移动应用程序开发。所以,我有这个漂亮的makefile,拒绝在一些命令后运行。请检查一下。

.PHONY: run
OUTPUT_FILE=final.apk
ALIAS=mycert
KEYPASS=shittypass
KEYSTORE=certs/bang.keystore
UNSIGNED=platforms/android/build/outputs/apk/android-release-unsigned.apk
PACKAGE='com.example.testapp'
sign:
    del -f ${OUTPUT_FILE}
    cordova build android --release
    jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore ${KEYSTORE} -storepass ${KEYPASS} ${UNSIGNED} ${ALIAS}
    zipalign -v 4 ${UNSIGNED} ${OUTPUT_FILE}

execute:
    adb shell am start -n ${PACKAGE}/${PACKAGE}.MainActivity

install:
    adb install -r ${OUTPUT_FILE}

    log:
        adb logcat | grep `adb shell ps | grep ${PACKAGE} | cut -c10-15`

    run: sign install execute log

“sign:”部分下的命令运行正常但是log:execute:和install:甚至没有显示在cmd中。 我正在使用Windows 7和GnuWin32 make程序。

1 个答案:

答案 0 :(得分:1)

make总是尝试只在makefile中构建第一个目标,除非你在命令行中指定一个特定的目标;例如,你可以调用make sign install execute log并运行它们。

当您输入run时,您似乎希望make目标成为默认目标;如果是这样,它必须是makefile中的第一个目标,而不是最后一个。

此外,您不应该像上面的示例中那样缩进logrun目标。它充其量是混乱而最糟糕的是错误。