如何制作.mak文件

How to make .mak file?

本文关键字:文件 mak 何制作      更新时间:2023-10-16

我有1999年创建的项目的src(实际上是MUD SoG'99)。有文件SOG.MAK,但我找不到任何关于如何制作这个项目的数据。有人能给我一个如何制作的提示吗?

项目的src链接:http://www.ianshirm.net/index.php?option=com_remository&项目ID=53&func=fileinfo&id=1370

SOG.MAK内容如下:

CC=cl.exe
CFLAGS=/nologo /ML /W3 /G4e /O2g /D "WIN32" /YX /c
INCLUDES= -I . -I ..msgdb -I .COMM -I .COMPAT -I .DB -I .OLC -I .COMPATregex-win32
LINK32=link.exe
LFLAGS=wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib
 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
 odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no
 /machine:I386 /out:"sog.exe"
COMM_CFILES = commban.c commcharset.c commcomm.c commcomm_act.c
              commcomm_colors.c commcomm_info.c commresolver.c
COMM_OFILES = commban.obj commcharset.obj commcomm.obj commcomm_act.obj
              commcomm_colors.obj commcomm_info.obj commresolver.obj
DB_CFILES = dbcmd.c dbdb.c dbdb_area.c dbdb_clan.c dbdb_class.c
            dbdb_skills.c dbdb_lang.c dbdb_race.c
            dbgsn.c dblang.c dbmsg.c dbresource.c dbspellfn.c dbword.c
DB_OFILES = dbcmd.obj dbdb.obj dbdb_area.obj dbdb_clan.obj dbdb_class.obj
            dbdb_skills.obj dbdb_lang.obj dbdb_race.obj dbgsn.obj
            dblang.obj dbmsg.obj dbresource.obj dbspellfn.obj dbword.obj

OLC_CFILES = olcolc.c olcolc_area.c olcolc_clan.c olcolc_help.c
             olcolc_lang.c olcolc_mob.c olcolc_mpcode.c olcolc_msg.c
             olcolc_room.c olcolc_obj.c olcolc_save.c olcolc_word.c
OLC_OFILES = olcolc.obj olcolc_area.obj olcolc_clan.obj olcolc_help.obj
             olcolc_lang.obj olcolc_mob.obj olcolc_mpcode.obj
             olcolc_msg.obj olcolc_room.obj olcolc_obj.obj olcolc_save.obj
             olcolc_word.obj

COMPAT_CFILES = compatwinstuff.c compatstrsep.c compatstrcasecmp.c
                compatregex-win32regex_regcomp.c
                compatregex-win32regex_regerror.c
                compatregex-win32regex_regexec.c
                compatregex-win32regex_regfree.c
COMPAT_OFILES = compatwinstuff.obj compatstrsep.obj compatstrcasecmp.obj
                compatregex-win32regex_regcomp.obj
                compatregex-win32regex_regerror.obj
                compatregex-win32regex_regexec.obj
                compatregex-win32regex_regfree.obj
CFILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c auction.c
         buffer.c clan.c class.c
         effects.c fight.c flag.c handler.c healer.c help.c hometown.c
         hunt.c interp.c log.c lookup.c magic.c magic2.c martial_art.c mem.c
         mlstring.c mob_cmds.c mob_prog.c namedp.c note.c obj_prog.c quest.c
         race.c raffects.c rating.c recycle.c religion.c repair.c
         save.c skills.c special.c str.c string_edit.c
         tables.c update.c util.c varr.c
         $(COMM_CFILES) $(DB_CFILES) $(OLC_CFILES) $(COMPAT_CFILES)
OFILES = act_comm.obj act_info.obj act_move.obj act_obj.obj act_wiz.obj
     auction.obj buffer.obj clan.obj class.obj effects.obj fight.obj flag.obj
     handler.obj healer.obj help.obj hometown.obj hunt.obj interp.obj log.obj
     lookup.obj magic.obj magic2.obj martial_art.obj mem.obj mlstring.obj
     mob_cmds.obj mob_prog.obj namedp.obj note.obj obj_prog.obj quest.obj
     race.obj raffects.obj rating.obj recycle.obj religion.obj repair.obj
     save.obj skills.obj special.obj str.obj string_edit.obj tables.obj
     update.obj util.obj varr.obj
     $(COMM_OFILES) $(DB_OFILES) $(OLC_OFILES) $(COMPAT_OFILES)

ALL : "sog.exe"
CLEAN :
        -@erase "sog.exe"
        -@erase "*.obj"
        -@erase "COMM*.obj"
        -@erase "COMPAT*.obj"
        -@erase "COMPATregex-win32*.obj"
        -@erase "DB*.obj"
        -@erase "OLC*.obj"
"sog.exe" : $(DEF_FILE) $(OFILES)
    $(LINK32) @<<
  $(LFLAGS) $(OFILES)
<<
.c.obj: 
    $(CC) $(CFLAGS) $(INCLUDES) /Fo%|pfF.obj $< 

make -f SOG.MAK没有帮助吗?