############################################################################# # # SciTech Multi-platform Graphics Library # # ======================================================================== # # The contents of this file are subject to the SciTech MGL Public # License Version 1.0 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.scitechsoft.com/mgl-license.txt # # Software distributed under the License is distributed on an # "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc. # # The Initial Developer of the Original Code is SciTech Software, Inc. # All Rights Reserved. # # ======================================================================== # # Descripton: Common makefile targets used by all SciTech Software # makefiles. This file includes targets for cleaning the # current directory, and maintaining the source files with # RCS. # ############################################################################# # Override global OpenGL includes when compiling against MGL version .IF $(USE_MGL_OPENGL) .IF $(UNIX_HOST) CFLAGS += -I$(SCITECH)/include/mglgl DEPEND_INC += $(SCITECH)/include/mglgl .ELSE CFLAGS += -I$(SCITECH)\include\mglgl DEPEND_INC += $(SCITECH)\include/mglgl .ENDIF .ENDIF # Define where to install all compiled DLL files .IF $(UNIX_HOST) .IF $(CHECKED) DLL_DEST := $(SCITECH_LIB)/redist/debug .ELSE DLL_DEST := $(SCITECH_LIB)/redist/release .ENDIF .ELSE .IF $(CHECKED) DLL_DEST := $(SCITECH_LIB)\redist\debug .ELSE DLL_DEST := $(SCITECH_LIB)\redist\release .ENDIF .ENDIF # Target to build the library and DLL file if specified .IF $(LIBFILE) lib: $(LIBFILE) .IF $(DLLFILE) # Build and install a DLL file, or simply build import library and install .IF $(BUILD_DLL) $(DLLFILE): $(OBJECTS) $(LIBFILE): $(DLLFILE) install: $(LIBFILE) $(DLLFILE) $(INSTALL) $(LIBFILE) $(LIB_DEST)$(LIB_EXTENDER) $(INSTALL) $(DLLFILE) $(DLL_DEST) .IF $(USE_SOFTICE) $(INSTALL) $(DLLFILE:s/.dll/.nms) $(DLL_DEST) .ENDIF .ELSE $(LIBFILE): $(DLL_DEST)\$(DLLFILE) install: $(LIBFILE) $(INSTALL) $(LIBFILE) $(LIB_DEST)$(LIB_EXTENDER) .ENDIF .ELSE .IF $(BUILD_DLL) # Build and install a Unix shared library $(LIBFILE): $(OBJECTS) install: $(LIBFILE) $(INSTALL) $(LIBFILE) $(LIB_DEST)$(LIB_EXTENDER) $(INSTALL) $(LIBFILE) $(DLL_DEST)/$(LIBFILE).$(VERSION) .ELSE # Build and install a normal library file .IF $(USE_DLL) .ELSE $(LIBFILE): $(OBJECTS) install: $(LIBFILE) $(INSTALL) $(LIBFILE) $(LIB_DEST)$(LIB_EXTENDER) .ENDIF .ENDIF .ENDIF .ENDIF # Build and install a VxD file, including debug information .IF $(VXDFILE) $(VXDFILE:s/.vxd/.dll): $(OBJECTS) $(VXDFILE): $(VXDFILE:s/.vxd/.dll) install: $(VXDFILE) $(INSTALL) $(VXDFILE) $(DLL_DEST) .IF $(DBG) $(INSTALL) $(VXDFILE:s/.vxd/.nms) $(DLL_DEST) .ENDIF .ENDIF # Clean up directory removing all files not needed to make the library. __CLEAN_FILES := *.obj *.o *.sym *.bak *.tdk *.swp *.map *.err *.csm *.lib *.aps *.nms *.sys __CLEAN_FILES += *.~* *.td *.tr *.tr? *.td? *.rws *.res *.exp *.ilk *.pdb *.pch *.a bcc32.* __CLEAN_FILES += $(LIBCLEAN) __CLEANEXE_FILES := $(__CLEAN_FILES) *$E *.drv *.rex *.dll *.vxd *.nms *.pel *.smf *.so.* .PHONY clean: @$(RM) -f -S $(mktmp $(__CLEAN_FILES:t"\n")) .PHONY cleanexe: @$(RM) -f -S $(mktmp $(__CLEANEXE_FILES:t"\n")) # Define the source directories to find common files .IF $(NO_SCITECH_COMMON) .ELSE .SOURCE: $(SCITECH)/src/common .ENDIF # Create the include file dependencies using the MKUTIL makedep program if # the list of dependent object files is defined .IF $(DEPEND_OBJ) depend: @$(RM) -f makefile.dep .IF $(DEPEND_SRC) .IF $(DEPEND_INC) @makedep -amakefile.dep -r -s -I@$(mktmp $(DEPEND_INC:s/\/\\)) -S@$(mktmp $(DEPEND_SRC:s/\/\\);$(SCITECH)/src/common) @$(mktmp $(DEPEND_OBJ:t"\n")\n) .ELSE @makedep -amakefile.dep -r -s -S@$(mktmp $(DEPEND_SRC:s/\/\\);$(SCITECH)/src/common) @$(mktmp $(DEPEND_OBJ:t"\n")\n) .ENDIF .ELSE .IF $(DEPEND_INC) @makedep -amakefile.dep -r -s -I@$(mktmp $(DEPEND_INC:s/\/\\)) -S@$(mktmp $(SCITECH)/src/common) @$(mktmp $(DEPEND_OBJ:t"\n")\n) .ELSE @makedep -amakefile.dep -r -s -S@$(mktmp $(SCITECH)/src/common) @$(mktmp $(DEPEND_OBJ:t"\n")\n) .ENDIF .ENDIF @$(ECHO) Object file dependency information generated. .ENDIF # Set up for compiling Snap executeables and dynamic link libraries .IF $(USE_SNAP) #CFLAGS += -I$(PRIVATE)\include\drvlib -I$(SCITECH)\include\drvlib -D__SNAP__ CFLAGS += -D__SNAP__ ASFLAGS += -d__SNAP__ #EXELIBS += snap$L .ENDIF # Include rule definitions for the compiler .INCLUDE: "$(SCITECH)/makedefs/rules/$(RULES_MAK)" # Include file dependencies .INCLUDE .IGNORE: "makefile.dep"