| ############################################################################# |
| # |
| # 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" |