# -*- Makefile -*- for trampoline #### Start of system configuration section. #### # Flags that can be set on the nmake command line: # MFLAGS={-ML|-MT|-MD} for defining the compilation model # MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib # MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib # MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib # DEBUG=1 for compiling with debugging information # Note that nmake command line flags are automatically passed to subdirectory # Makefiles. Therefore we don't need to pass them explicitly to subdirectory # Makefiles, but the subdirectory Makefiles need to have the same defaults. # Building as a DLL not supported yet. DLL=0 !if !defined(DEBUG) DEBUG=0 !endif !if !defined(MFLAGS) !if !$(DLL) MFLAGS= !else MFLAGS=-MD !endif !endif !if $(DEBUG) OPTIMFLAGS = -Od -Z7 !else OPTIMFLAGS = -D_NDEBUG -O1 !endif HOST = i386-pc-win32-msvc CPU = i386 # Directories used by "make": srcdir = . # Directories used by "make install": prefix = /usr/local local_prefix = /usr/local exec_prefix = $(prefix) libdir = $(exec_prefix)/lib includedir = $(prefix)/include mandir = $(prefix)/man # Programs used by "make": CC = cl CFLAGS = $(MFLAGS) $(OPTIMFLAGS) CPP = cl -E INCLUDES = -I. -I$(srcdir) AR = lib AR_FLAGS = /out: RM = -del LN = copy # Programs used by "make install": INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ #### End of system configuration section. #### SHELL = /bin/sh OBJECTS = trampoline.obj all : $(OBJECTS) trampoline.lib trampoline_r.h $(srcdir)/trampoline_r.3 $(srcdir)/trampoline_r.html trampoline_r.h : $(srcdir)/trampoline_r.h.in -$(LN) $(srcdir)\trampoline_r.h.in trampoline_r.h config.h : $(srcdir)/config.h.msvc -$(LN) $(srcdir)\config.h.msvc config.h trampoline.obj : $(srcdir)/trampoline.c trampoline_r.h config.h $(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/trampoline.c trampoline.s : $(srcdir)/trampoline.c trampoline_r.h config.h $(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/trampoline.c /FAs /Fatrampoline.s !if !$(DLL) trampoline.lib : $(OBJECTS) $(RM) trampoline.lib $(AR) $(AR_FLAGS)trampoline.lib $(OBJECTS) !else # trampoline.dll and trampoline.lib are created together. trampoline.lib : $(OBJECTS) $(CC) $(MFLAGS) -LD $(OBJECTS) !endif test1.obj : $(srcdir)/test1.c trampoline_r.h $(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/test1.c test1.exe : test1.obj $(OBJECTS) $(RM) test1.ilk $(CC) $(CFLAGS) test1.obj $(OBJECTS) /Fetest1.exe test2.obj : $(srcdir)/test2.c trampoline_r.h $(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/test2.c test2.exe : test2.obj $(OBJECTS) $(RM) test2.ilk $(CC) $(CFLAGS) test2.obj $(OBJECTS) /Fetest2.exe check1 : all test1.exe test1.exe check : all test1.exe test2.exe test1.exe test2.exe copy nul tests.passed.$(HOST) mostlyclean : clean clean : force $(RM) $(OBJECTS) trampoline.lib trampoline.exp trampoline.dll core $(RM) test1.obj test1.exe test2.obj test2.exe distclean : clean $(RM) config.status config.log config.cache Makefile config.h trampoline_r.h tests.passed.* maintainer-clean : distclean force :