-# $Id: Makefile.win,v 1.2 2001/09/18 16:39:38 kschultz Exp $
+# $Id: Makefile.win,v 1.3 2001/09/18 20:47:23 kschultz Exp $
# Mesa 3-D graphics library
# Version: 3.5
targets: readtex.c readtex.h $(PROGS)
# remove comments when we get non-osmesa pgm working
-#$(EXES) : $*.obj $(DEPLIBS)
-# echo $@
-# $(link) -out:$@ $** $(LIBS)
+#$(EXES) : $*.obj
+# @echo $@
+# $(link) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS)
-$(OSMESAEXES) : $*.obj $(DEPLIBS)
- echo $@
- $(link) -out:$@ $** $(LIBS) $(EXTRALIBS)
+$(OSMESAEXES) : $*.obj
+ @echo $@
+ $(link) -out:$@ $** /LIBPATH:$(LIBDIR) $(LIBS) $(EXTRALIBS)
readtex.c:
@copy ../util/readtex.c .
SRCS = $(GLU_SRCS)
-GLUDLL = glu32.dll
-
-all : gludll install
+all : gludll
!include "$(TOP)/mesawin32.mak"
LFLAGS = $(dlllflags) $(LFLAGS)
OBJS = $(GLU_SRCS:.c=.obj)
-LIBS = ../lib/opengl32.lib winmm.lib $(guilibsdll)
+LIBS = ../lib/$(MESALIB) winmm.lib $(guilibsdll)
# Uncomment these definitions to try to compile the NURBS code.
#OBJS = $(GLU_SRCS_CC:.cc=.obj) $(GLU_SRCS:.c=.obj)
#NURBSINC = -Ilibnurbs\interface -Ilibnurbs\internals -Ilibnurbs\nurbtess
#CFLAGS = $(CFLAGS) $(NURBSINC)
-$(GLUDLL) : $(OBJS) glu.def
+$(GLUDLL): $(OBJS) glu.def
$(link) $(LFLAGS) -out:$(GLUDLL) -def:glu.def $(OBJS) $(LIBS)
-
-install : $(GLUDLL)
- @echo "copying Mesa GLU dynamic link library to system directory..."
+ @echo "copying Mesa GLU dynamic link library to library directory..."
-copy $(GLUDLL) $(TOP)\lib
@echo "copying Mesa GLU import library to library directory..."
- -copy $(GLU) $(TOP)\lib
+ -copy $(GLULIB) $(TOP)\lib
+
+install : $(GLUDLL) $(GLULIB)
+ @echo "copying Mesa GLU dynamic link library to system directory..."
+ -copy $(GLUDLL) $(DLLINSTALL)
+ @echo "copying Mesa GLU header files to include directory..."
+ -copy ..\..\include\GL\glu.h $(INCLUDEINSTALL)
+ @echo "copying Mesa GLU import library to system library directory..."
+ -copy $(GLULIB) $(LIBINSTALL)
clean ::
@del /f libtess\*.obj libutil\*.obj
@del /f libnurbs\nurbtess\*.obj
# override default inference rule with one that writes the object to
-# the correct subdir.
+# the same subdir as the c file.
.c.obj :
$(cc) $(CFLAGS) -I. $< /Fo$*.obj
LFLAGS = $(dlllflags) $(LFLAGS)
OBJS = $(SRCS:.c=.obj)
-MS_LIBS = $(MS_OPENGL) $(MS_GLU) winmm.lib $(guilibsdll)
-MS_LIBS = ../lib/opengl32.lib ../lib/glu32.lib winmm.lib $(guilibsdll)
+MS_LIBS = ../lib/$(MESALIB) ../lib/$(GLULIB) winmm.lib $(guilibsdll)
SGI_LIBS = $(SGI_OPENGL) $(SGI_GLU) winmm.lib $(guilibsdll)
glut32.dll : $(OBJS) glut.def
OSMESA_SRCS = osmesa.c
OSMESA_OBJS = osmesa.obj
-OSMESALIB = OSmesa.lib
ASM_SRCS =
-CORE_SRCS = $(OSMESA_SRCS)
-DRIVER_SRCS =
+CORE_SRCS =
+DRIVER_SRCS = $(OSMESA_SRCS)
SRCS = $(OSMESA_SRCS)
-all : osmesalib install
+all : osmesalib
!include "$(TOP)/mesawin32.mak"
-osmesalib : $(OSMESALIB)
+osmesalib: $(OSMESALIB)
-CFLAGS = $(cvarsdll) $(CFLAGS) -D_OPENGL32_ -I$(TOP)/src
+# Undefine _DLL because osmesa is a LIB, not a DLL
+CFLAGS = $(cvarsdll) $(CFLAGS) -U_DLL -D_OPENGL32_ -I$(TOP)/src
LFLAGS = /LIB
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj)
-LIBS = $(TOP)/lib/OpenGL32.lib $(TOP)/src/opengl32.exp
+LIBS = $(TOP)/lib/$(MESALIB)
$(OSMESALIB) : $(OBJS)
$(link) $(LFLAGS) -out:$(OSMESALIB) $(OBJS) $(LIBS)
-
-install : $(OSMESALIB)
@echo "copying OSMesa library to library directory..."
-copy $(OSMESALIB) $(TOP)\lib
-clean ::
- @del /f osmesa.obj
+install : $(OSMESALIB)
+ @echo "copying OSMesa library to system library directory..."
+ -copy $(OSMESALIB) $(LIBINSTALL)
# Makefile for Win32
#
-# NOTE: the install target may overwrite important files in the system dir
+# NOTE: the install target may overwrite important files in the system dirs
# Sept 12, 2001
# Windows driver not working. OSMesa driver works.
#
LFLAGS = $(dlllflags) $(LFLAGS)
OBJS = $(ASM_SRCS:.S=.obj) $(CORE_SRCS:.c=.obj) $(DRIVER_SRCS:.c=.obj)
-LIBS = $(GLU) winmm.lib $(guilibsdll)
+LIBS = winmm.lib $(guilibsdll)
$(MESADLL) : $(OBJS) mesa.def
$(link) $(LFLAGS) -out:$(MESADLL) -def:mesa.def $(OBJS) $(LIBS)
@cd ..
install : $(MESADLL)
+ @echo.
@echo "copying Mesa dynamic link library to system directory..."
-copy $(MESADLL) $(DLLINSTALL)
@echo "copying Mesa header files to include directory..."
@del /f osmesa\*.obj
@del /f Windows\*.obj
+clobber ::
+ @del /f OSmesa\*.lib
+
# override default inference rule with one that writes the object to
-# the correct subdir
+# the same subdir that the c file is in.
.c.obj :
$(cc) $(CFLAGS) -I. $< /Fo$*.obj