2017-01-12 2 views
1

これは1996年の古いGSM標準のmakeファイルです。私はそれをOSX 10.11.6を実行しているMacBookまたはWindows 7の大学コンピュータで動作させる必要があります。ウィンドウにはnmakeがインストールされていません問題のグーグルは解決策のようだった。1996年の作業からこのメークファイルを作るにはどうすればいいですか?

メイクファイルを使用する方法はありますか?

また、MacではCDIRとUTILSDIRをフルパスに変更するだけでは不十分です。

# 
# makefile for GSM Half-Rate Speech Codec 
# Version 5.0.0 
# November 8, 1996 
# 
.SUFFIXES: .out .obj .c .e .r .f .y .l .s .p .os 
CC=TCC 
CDIR=..\c 
UTILSDIR=..\utils 

TCDIR=c:/turboc/lib 
CAlsoDef=-A -I$(CDIR) -Fc -ml 
CDefault=$(CAlsoDef) 
CDefaultExec=$(CAlsoDef) 

# installation 
install: gsm_hr reid swapbin tosnwild topcwild 

# EXACT files 
globdefs.obj: $(CDIR)/globdefs.c 
    $(CC) $(CDefault) -c $? 
mathdp31.obj: $(CDIR)/mathdp31.c 
    $(CC) $(CDefault) -c $? 
mathhalf.obj: $(CDIR)/mathhalf.c 
    $(CC) $(CDefault) -c $? 

# 
# speech coder: analysis and synthesis 
# object files 
# 
dtx.obj: $(CDIR)/dtx.c 
    $(CC) $(CDefault) -c $? 
err_conc.obj: $(CDIR)/err_conc.c 
    $(CC) $(CDefault) -c $? 
homing.obj: $(CDIR)/homing.c 
    $(CC) $(CDefault) -c $? 
sp_dec.obj: $(CDIR)/sp_dec.c 
    $(CC) $(CDefault) -c $? 
sp_enc.obj: $(CDIR)/sp_enc.c 
    $(CC) $(CDefault) -c $? 
sp_rom.obj: $(CDIR)/sp_rom.c 
    $(CC) $(CDefault) -c $? 
sp_sfrm.obj: $(CDIR)/sp_sfrm.c 
    $(CC) $(CDefault) -c $? 
sp_frm.obj: $(CDIR)/sp_frm.c 
    $(CC) $(CDefault) -c $? 
vad.obj: $(CDIR)/vad.c 
    $(CC) $(CDefault) -c $? 

# Host files 
host.obj: $(CDIR)/host.c 
    $(CC) $(CDefault) -c $? 

# main program 
gsm_hr.obj: $(CDIR)/gsm_hr.c 
    $(CC) $(CDefault) -c $? 

# utility programs 
reid.obj: $(UTILSDIR)/reid.c 
    $(CC) $(CDefault) -c $? 
swapbin.obj: $(UTILSDIR)/swapbin.c 
    $(CC) $(CDefault) -c $? 
topcwild.obj: $(UTILSDIR)/topcwild.c 
    $(CC) $(CDefault) -c $? 
tosnwild.obj: $(UTILSDIR)/tosnwild.c 
    $(CC) $(CDefault) -c $? 

# *********************** symbols ****************************************** 

EXACT3 = globdefs.obj mathdp31.obj mathhalf.obj 

SPEECH = sp_dec.obj sp_enc.obj sp_frm.obj sp_rom.obj sp_sfrm.obj 

GSM_HR = $(EXACT3) $(SPEECH) dtx.obj err_conc.obj host.obj homing.obj vad.obj 


#*********************** executables ************************************** 

# main program 
gsm_hr: gsm_hr.obj $(GSM_HR) 
    $(CC) $(CDefaultExec) -egsm_hr.exe @gsm_hr.rsp 

# utility programs 
reid: reid.obj 
    $(CC) $(CDefaultExec) -ereid.exe reid.obj 
swapbin: swapbin.obj 
    $(CC) $(CDefaultExec) -eswapbin.exe swapbin.obj 
tosnwild: tosnwild.obj 
    $(CC) $(CDefaultExec) -etosnwild.exe tosnwild.obj 
topcwild: topcwild.obj 
    $(CC) $(CDefaultExec) -etopcwild.exe topcwild.obj 

全ファイルはここにhttps://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=281

を見つけることができます:

make -f makefile.mak 

はまだ私が同様の問題は、これがフルMAKEFILE.MAKコンテンツであるTCDIR で発生すると仮定し

TCC -A -I/Users/Henrik/Desktop/GSMHR2/DISK/c -Fc -ml -c /Users/Henrik/Desktop/GSMHR2/DISK/c/gsm_hr.c 
make: TCC: No such file or directory 
make: *** [gsm_hr.obj] Error 1 

を返します。

+2

デバッグ/移植サービスはありません。 – Olaf

+0

このMakefileはTurbo Cで動作するように書かれています。 – zneak

+0

少なくとも、OS X上に構築するために、 "MAKEFILE.MAK"というファイルではなく、 "MAKEFILE"というファイルから始めるほうがよいでしょう。 –

答えて

3
  1. CC=TCCを削除します。これは、古代のDOS Cコンパイラ(Turbo C)への参照です。

  2. CDIRUTILSDIRのバックスラッシュをスラッシュで置き換えます。パスのバックスラッシュはMS-DOS-ismです。

  3. CAlsoDef=-A -I$(CDIR) -Fc -mlCAlsoDef=-I$(CDIR)に置き換えます。その他のオプションは、TCCに固有です。

  4. ソースコードがあまりにも多くの変更を必要としないことを願っています。がんばろう。

関連する問題