亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

操作系統檢測makefile

操作系統檢測makefile

操作系統檢測makefile我經常在幾臺不同的計算機和幾種不同的操作系統上工作,這些操作系統是Mac OS X,Linux或Solaris。對于我正在進行的項目,我從遠程git存儲庫中提取代碼。無論我在哪個終端,我都希望能夠處理我的項目。到目前為止,我已經找到了通過每次切換計算機時更改makefile來繞過操作系統更改的方法。然而,這是乏味的,并引起一堆頭痛。如何修改我的makefile,以便它檢測我正在使用哪個操作系統并相應地修改語法?這是makefile:cc = gcc -gCC = g++ -gyacc=$(YACC)lex=$(FLEX)all: assemblerassembler: y.tab.o lex.yy.o         $(CC) -o assembler y.tab.o lex.yy.o -ll -l yassembler.o: assembler.c         $(cc) -o assembler.o assembler.cy.tab.o: assem.y         $(yacc) -d assem.y         $(CC) -c y.tab.clex.yy.o: assem.l         $(lex) assem.l         $(cc) -c lex.yy.cclean:         rm -f lex.yy.c y.tab.c y.tab.h assembler *.o *.tmp *.debug *.acts
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

我現在認為這個答案已經過時了。我發布了一個新的完美解決方案。

如果您的makefile可能在非Cygwin Windows上運行,則uname可能無法使用。這很尷尬,但這是一個潛在的解決方案。您必須首先檢查Cygwin以排除它,因為它的PATH環境變量中也有WINDOWS 。

ifneq (,$(findstring /cygdrive/,$(PATH)))
    UNAME := Cygwinelseifneq (,$(findstring WINDOWS,$(PATH)))
    UNAME := Windowselse
    UNAME := $(shell uname -s)endifendif


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 1511 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號