📄 makefile
字号:
############################################################################### Copyright (C) 1996 SciTech Software.# All rights reserved.## Descripton: Generic makefile for the PM library. Builds the library# file and all test programs.##############################################################################.IMPORT .IGNORE : DEBUG_AGP_DRIVER TEST_HARNESS DEBUG_SDDPMI#----------------------------------------------------------------------------# Add DOS extender dependant flags to command line#----------------------------------------------------------------------------CFLAGS += $(DX_CFLAGS)ASFLAGS += $(DX_ASFLAGS)NO_PMLIB := 1#----------------------------------------------------------------------------# Include definitions specific for the target system#----------------------------------------------------------------------------.IF $(USE_VXD)# Building for Win32 VxD (minimal PM library implementation)LIBNAME = pmOBJECTS = pm$O vflat$O ztimer$O cpuinfo$O mtrr$O fileio$O pcilib$O \ agp$O malloc$O vgastate$O gavxd$O _pm$O _mtrr$O _cpuinfo$O \ _int64$O _pcihelp$ODEPEND_SRC := vxd;common;codepage;tests.SOURCE: vxd common codepage tests.ELIF $(USE_NTDRV)# Building for NT device drivers (minimal PM library implementation)LIBNAME = pmOBJECTS = pm$O vflat$O ztimer$O cpuinfo$O mtrr$O mem$O irq$O int86$O \ stdio$O stdlib$O pcilib$O agp$O malloc$O vgastate$O gantdrv$O \ _pm$O _mtrr$O _cpuinfo$O _int64$O _pcihelp$O _irq$ODEPEND_SRC := ntdrv;common;codepage;tests.SOURCE: ntdrv common codepage tests.ELIF $(USE_WIN32)# Building for Win32CFLAGS += -DUSE_OS_JOYSTICKLIBNAME = pmOBJECTS = pm$O vflat$O event$O ddraw$O ztimer$O cpuinfo$O pcilib$O \ agp$O malloc$O vgastate$O gawin32$O ntservc$O _joy$O _cpuinfo$O \ _int64$O _pcihelp$ODEPEND_SRC := win32;common;codepage;tests.SOURCE: win32 common codepage tests.ELIF $(USE_OS232)# Building for OS/2.IF $(USE_OS2GUI)LIBNAME = pm_pm.ELSELIBNAME = pm.ENDIFOBJECTS = pm$O vflat$O event$O ztimer$O cpuinfo$O mtrr$O pcilib$O \ agp$O malloc$O vgastate$O gaos2$O _pmos2$O _joy$O _cpuinfo$O \ _int64$O _pcihelp$O dossctl$ODEPEND_SRC := os2;common;codepage;tests.SOURCE: os2 common codepage tests.ELIF $(USE_QNX)# Building for QNXUSE_BIOS := 1.IF $(USE_PHOTON)LIBNAME = pm_ph.ELIF $(USE_X11)LIBNAME = pm_x11.ELSELIBNAME = pm.ENDIFOBJECTS = pm$O vflat$O event$O ztimer$O cpuinfo$O mtrr$O pcilib$O \ agp$O malloc$O mtrrqnx$O unixio$O vgastate$O gaqnx$O _joy$O \ _mtrrqnx$O _cpuinfo$O _int64$O _pcihelp$ODEPEND_SRC := qnx;common;codepage;tests.SOURCE: qnx common codepage tests# Indicate that this program uses Nucleus device drivers (so needs I/O access)USE_NUCLEUS := 1.ELIF $(USE_LINUX)# Building for LinuxCFLAGS += -DENABLE_MTRR -DUSE_OS_JOYSTICK.IF $(USE_X11)LIBNAME = pm_x11.ELSELIBNAME = pm.ENDIFOBJECTS = pm$O vflat$O event$O ztimer$O cpuinfo$O pcilib$O \ agp$O malloc$O unixio$O vgastate$O galinux$O _cpuinfo$O \ _int64$O _pcihelp$ODEPEND_SRC := linux;common;codepage;tests;x11.SOURCE: linux common codepage tests x11# Building a shared library.IF $(SOFILE)LIB := ldLIBFLAGS := -r -oCFLAGS += -fPIC.ENDIF.ELIF $(USE_BEOS)# Building for BeOS GUILIBNAME = pmOBJECTS = pm$O vflat$O event$O ztimer$O cpuinfo$O pcilib$O \ agp$O malloc$O vgastate$O gabeos$O _joy$O _cpuinfo$O \ _int64$O _pcihelp$ODEPEND_SRC := beos;common;codepage;tests.SOURCE: beos common codepage tests.ELIF $(USE_SMX32)# Building for SMXLIBNAME = pmOBJECTS = pm$O pmsmx$O vflat$O event$O ztimer$O cpuinfo$O mtrr$O pcilib$O \ agp$O malloc$O vgastate$O gasmx$O _pm$O _pmsmx$O _mtrr$O _event$O \ _joy$O _cpuinfo$O _int64$O _pcihelp$O _lztimer$ODEPEND_SRC := smx;common;codepage;tests.SOURCE: smx common codepage tests.ELIF $(USE_RTTARGET)# Building for RTTarget-32LIBNAME = pmOBJECTS = pm$O vflat$O event$O ztimer$O cpuinfo$O mtrr$O pcilib$O \ agp$O malloc$O vgastate$O gartt$O _mtrr$O _joy$O _cpuinfo$O \ _int64$O _pcihelp$ODEPEND_SRC := rttarget;common;codepage;tests.SOURCE: rttarget common codepage tests.ELSE# Building for MSDOSLIBNAME = pmOBJECTS = pm$O pmdos$O vflat$O event$O ztimer$O cpuinfo$O mtrr$O \ agp$O malloc$O pcilib$O vgastate$O gados$O \ _pm$O _pmdos$O _mtrr$O _vflat$O _event$O _joy$O _pcihelp$O \ _cpuinfo$O _int64$O _lztimer$O _dma$ODEPEND_SRC := dos;common;codepage;tests.SOURCE: dos common codepage tests.ENDIF# Object modules for keyboard code pagesOBJECTS += us_eng$O# Common object modulesOBJECTS += common$O.IF $(CHECKED)OBJECTS += debug$O.ENDIF# Nucleus loader library object modules. Note that when compiling a test harness# library we need to exclude the Nucleus loader library..IF $(TEST_HARNESS)CFLAGS += -DTEST_HARNESS -DPMLIBLIBNAME = pm_test.ELSEOBJECTS += galib$O _ga_imp$O.ENDIF.IF $(DEBUG_SDDPMI)CFLAGS += -DDEBUG_SDDPMI.ENDIF# AGP library object modules.IF $(DEBUG_AGP_DRIVER)CFLAGS += -DDEBUG_AGP_DRIVEROBJECTS += agplib$O.ELSEOBJECTS += agplib$O peloader$O libcimp$O _gatimer$O.ENDIF#----------------------------------------------------------------------------# Name of library and generic object files required to build it#----------------------------------------------------------------------------.IF $(STKCALL)LIBFILE = s$(LP)$(LIBNAME)$L.ELSELIBFILE = $(LP)$(LIBNAME)$L.ENDIFLIBCLEAN = *.lib *.a#----------------------------------------------------------------------------# Change destination for library file depending the extender being used. This# is only necessary for DOS extender since the file go into a subdirectory# in the normal library directory, one for each supported extender. Other# OS'es put the file into the regular library directory, since there is# only one per OS in this case.#----------------------------------------------------------------------------MK_PMODE = 1.IF $(TEST_HARNESS)LIB_DEST := $(LIB_BASE).ELIF $(USE_TNT)LIB_DEST := $(LIB_BASE)\tnt.ELIF $(USE_DOS4GW)LIB_DEST := $(LIB_BASE)\dos4gw.ELIF $(USE_X32)LIB_DEST := $(LIB_BASE)\x32.ELIF $(USE_DPMI16)LIB_DEST := $(LIB_BASE)\dpmi16.ELIF $(USE_DPMI32)LIB_DEST := $(LIB_BASE)\dpmi32.ELIF $(USE_DOSX)LIB_DEST := $(LIB_BASE)\dosx.END#----------------------------------------------------------------------------# Names of all executable files built#----------------------------------------------------------------------------.IF $(USE_REALDOS)EXEFILES = memtest$E biosptr$E video$E isvesa$E callreal$E \ mouse$E tick$E key$E key15$E brk$E altbrk$E \ critical$E altcrit$E vftest$E rtc$E getch$E \ cpu$E timerc$E timercpp$E showpci$E uswc$E block$E.ELSEEXEFILES = memtest$E video$E isvesa$E callreal$E vftest$E getch$E \ cpu$E timerc$E timercpp$E showpci$E uswc$E block$E \ save$E restore$E.ENDIFall: $(EXEFILES)$(EXEFILES): $(LIBFILE)memtest$E: memtest$Obiosptr$E: biosptr$Ovideo$E: video$Oisvesa$E: isvesa$Omouse$E: mouse$Otick$E: tick$Okey$E: key$Okey15$E: key15$Obrk$E: brk$Oaltbrk$E: altbrk$Ocritical$E: critical$Oaltcrit$E: altcrit$Ocallreal$E: callreal$Ovftest$E: vftest$Ortc$E: rtc$Ogetch$E: getch$Ocpu$E: cpu$Otimerc$E: timerc$Otimercpp$E: timercpp$Oshowpci$E: showpci$Ouswc$E: uswc$Oblock$E: block$Osave$E: save$Orestore$E: restore$Otest$E: test$O _test$O#----------------------------------------------------------------------------# Define the list of object files to create dependency information for#----------------------------------------------------------------------------DEPEND_OBJ := $(OBJECTS) memtest$O biosptr$O video$O isvesa$O mouse$O \ tick$O key$O key$O brk$O altbrk$O critical$O altcrit$O \ callreal$O vftest$O getch$O timercpp$O.INCLUDE: "$(SCITECH)/makedefs/common.mk"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -