📄 makefile.all
字号:
!ifndef MSDOS WIN16 WIN32 OS2# -*- mode: sh; mode: fold -*- # This file has been folded.#{{{ MACRO descriptionsThis is a master makefile that from which DOS/Windows/OS2 makefilesmay be derived. A makefile for a particular system may be derived bypassing this through the standalone DOS executable 'mkmake' whichshould be present in this directory. For example, to produce a makefile suitable for OS2 using the EMX compiler use: mkmake OS2 EMX < makefile.all > MakefileCurrently supported platforms include: MSDOS WIN16 WIN32 OS2Currently supported compilers include: MSDOS - BCC, DJGPP WIN16 - BCC WIN32 - BCC, VC, CYGWIN32, MINGW32, WCC OS2 - EMX, WCC, ICCMore will be added in the future.For example to produce makefile for compiling for Win32 using Visual C++ use: mkmake WIN32 VC < makefile.all > MakefileSimilarly, mkmake WIN32 MINGW32 < makefile.all > Makefile will produce a makefile for the MINGW32 compiler. Each compiler-dependent section of this master makefile must define the following macros: CC : The C compiler CFLAGS : Compiler flags P : Path separator used by make/compiler O : Object file extension SRCDIR : SRC location (.) OBJDIR : Directory where objects are placed COMPILE_CMD : Command used to produce object from .c file LIBDEPS : Other dependencies library depends upon TARGET : Primary target name COPY : copy commandOther macros include: RSPFILE : Name of response file RSP_PREFIX : Prefix for response file line (See its usage) RSP_POSTFIX : Postfix for response file line (See its usage) RM : What to use to delete a file TOUCH : Touch programSpecial notes: The P macro could be problematic when its value is a backslash (\). Some make programs may require it to be doubled, i.e., \\. Whatever its value is, it should expand to something that does not include whitespace. Usually this requires that it be followed by a '#' character; however, this may result in the '#' character being quoted, or, escaped if the value of P is a backslash. #}}}!else #rest of file# Note: # This makefile was automatically generated from the master makefile.all.# If you have problems with this file, edit the mkfiles/makefile.all.# Also check slconfig.h to make sure that what is defined there is # appropriate to your system.#! ifdef MSDOS! ifdef DJGPP #{{{CC = gccCFLAGS = -O2 -fno-strength-reduce -Wall -WP = /# path sepO = o # Object extensionSRCDIR = .# Location of sourcesOBJDIR = djgobjs# Location of objectsTARGET = $(OBJDIR)/libslang.aRSPFILE = $(OBJDIR)/link.rspRSP_PREFIX =RSP_POSTFIX =COMPILE_CMD = $(CC) -c $(CFLAGS) -o #LIBDEPS = $(RSPFILE)RM = rmTOUCH = touchCOPY = cp#}}}! elifdef BCC #{{{CC = bccCFLAGS = -G- -H -N -O1 -w -ml -DmsdosP = \\O = objSRCDIR = .OBJDIR = bccobjsTARGET = $(OBJDIR)\slang.libRSPFILE = $(OBJDIR)\link.rspRSP_PREFIX = +-RSP_POSTFIX = &COMPILE_CMD = $(CC) -c $(CFLAGS) -o# <-- no tailing spaceLIBDEPS = $(RSPFILE)TOUCH = touchCOPY = copy#}}} BCC! endif #ifdef BCC elifdef DJGPP! endif #MSDOS! ifdef WIN16 #{{{CC = bccCFLAGS = -G- -H -N -w -ml -Dmsdos -DMSWINDOWS -W#CFLAGS = -N -v -H -w -ml -Dmsdos -DMSWINDOWS -WSOBJDIR = mswobjs# Location of objectsO = obj # Object extensionP = \\SRCDIR = .# Location of sourcesTARGET = $(OBJDIR)$(P)wslang.libRSPFILE = $(OBJDIR)$(P)mswin.rspRSP_PREFIX = +-#RSP_POSTFIX = &#COMPILE_CMD = $(CC) -c $(CFLAGS) -o#LIBDEPS = $(RSPFILE)TOUCH = touchCOPY = copy! endif #}}}! ifdef OS2! ifdef EMX #{{{CC = gcc -Zmtd -DEMX_VIDEOCFLAGS = -DOS2 -D__os2__P = /O = o # Object extensionSRCDIR = .# Location of sourcesOBJDIR = emxobjs# Location of objectsTARGET = $(OBJDIR)/slang.aCOMPILE_CMD = $(CC) -c $(CFLAGS) -o #LIBDEPS =TOUCH = touchCOPY = cp#}}}! elifdef WCC #{{{CC = wcc386CFLAGS = -DOS2 -D__os2__ -bm -bt=os2 #P = \#O = obj # Object extensionSRCDIR = .# Location of sourcesOBJDIR = wccobjs# Location of objectsTARGET = $(OBJDIR)\slang.libCOMPILE_CMD = $(CC) $(CFLAGS) -fo=#RSPFILE = RSP_PREFIX = +-RSP_POSTFIX =LIBDEPS = $(RSPFILE)TOUCH = wtouchCOPY = copyRM = del#}}}! elifdef ICC #{{{CC = iccCFLAGS = -Q+ -W3 -DOS2 -D__os2__ -Gm+ -Wcnd-P = \#O = objSRCDIR = .OBJDIR = iccobjsTARGET = $(OBJDIR)\slang.libCOMPILE_CMD = $(CC) -c $(CFLAGS) -Fo# <-- no trailing spaceLIBDEPS = $(RSPFILE)RSPFILE = $(OBJDIR)\link.rspRSP_PREFIX = TMP1=A# Hack to get ^&RSP_POSTFIX = $(TMP1:A=^^)© = copyRM=delTOUCH=echo#}}}! endif # ifdef EMX elifdef WCC! endif #OS2! ifdef WIN32! ifdef VC #{{{# Makefile for slang as Win32 GUI using nmake under Visual C.CC = clCFLAGS =P = \\O = obj # Object extensionSRCDIR = .# Location of sourcesOBJDIR = mw32objs# Location of objectsTARGET = $(OBJDIR)\wslang32.libRSPFILE = $(OBJDIR)\link.rspRSP_PREFIX =RSP_POSTFIX =COMPILE_CMD = $(CC) /c @$(OBJDIR)\comp.rsp /Fo # /Fo specifies object file nameLIBDEPS = $(RSPFILE) $(OBJDIR)\comp.rsp# This needs changing for Windows NT on non-Intel processorsCPU = _X86_TOUCH = touchCOPY = copy#}}}! elifdef BCC #{{{CC = bcc32CFLAGS = -N -w -w-sig -w-stu -v -DWIN32# Location of sourcesSRCDIR = .# Location of objectsOBJDIR = bw32objs# Object extensionO = obj P = \\TARGET = $(OBJDIR)\wslang.libRSPFILE = $(OBJDIR)\link.rspRSP_PREFIX = +-! if$OS Windows_NTRSP_POSTFIX = ^^&! elseRSP_POSTFIX = &! endifCOMPILE_CMD = $(CC) -c $(CFLAGS) -oLIBDEPS = $(RSPFILE)TOUCH = touchCOPY = copy#}}}! elifdef CYGWIN32 #{{{# This Makefile is for the CYGWIN32 environmentCC = gccCFLAGS = -DWIN32 -W -Wall -O2 -fno-strength-reduceP = /#O = o # Object extensionSRCDIR = .# Location of sourcesOBJDIR = gw32objs# Location of objectsTARGET = $(OBJDIR)/libslang.aCOMPILE_CMD = $(CC) -c $(CFLAGS) -o #LIBDEPS =RM = rmTOUCH = touchCOPY = cp#}}}! elifdef MINGW32 #{{{# This Makefile is for the MINGW32 environmentCC = gccCFLAGS += -DWIN32 -W -Wall -O2 -fno-strength-reduceP = /#O = o # Object extensionSRCDIR = .# Location of sourcesOBJDIR = gw32objs# Location of objectsTARGET = $(OBJDIR)/libslang.aCOMPILE_CMD = $(CC) -c $(CFLAGS) -o #LIBDEPS =RM = rmTOUCH = touch#COPY = cpCOPY = copy#}}}! elifdef WCC #{{{# Watcom makefile for slangCC = wcl386DEFINES = /DWIN32 /D__WIN32__CFLAGS = /bt=nt /ort /I. $(DEFINES)P = \#O = obj # Object extension.c.obj: .AUTODEPEND $(CC) $(CFLAGS) /c $< /fo=$@ SRCDIR = .# Location of sourcesOBJDIR = w32objs# Location of objectsTARGET = $(OBJDIR)\wslang32.libRSPFILE = $(OBJDIR)\link.rspRSP_PREFIX = -+ RSP_POSTFIX =COMPILE_CMD = $(CC) $(CFLAGS) /c /fo=LIBDEPS = $(RSPFILE)# This needs changing for Windows NT on non-Intel processorsCPU = _X86_TOUCH = wtouchRM = delCOPY = copy#}}}! endif #ifdef VC elifdef BCC ... elifdef MINGW32! endif #WIN32# End of compiler specific sectionCONFIG_H = config.h#{{{ OBJS = OBJS = $(OBJDIR)$(P)slang.$(O) \ $(OBJDIR)$(P)slarray.$(O) \ $(OBJDIR)$(P)slclass.$(O) \ $(OBJDIR)$(P)slcmd.$(O) \ $(OBJDIR)$(P)slerr.$(O) \ $(OBJDIR)$(P)slgetkey.$(O) \ $(OBJDIR)$(P)slkeymap.$(O) \ $(OBJDIR)$(P)slmalloc.$(O) \ $(OBJDIR)$(P)slmath.$(O) \ $(OBJDIR)$(P)slarith.$(O) \ $(OBJDIR)$(P)slassoc.$(O) \ $(OBJDIR)$(P)slmemchr.$(O) \ $(OBJDIR)$(P)slmemcmp.$(O) \ $(OBJDIR)$(P)slmemcpy.$(O) \ $(OBJDIR)$(P)slmemset.$(O) \ $(OBJDIR)$(P)slmisc.$(O) \ $(OBJDIR)$(P)slparse.$(O) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -