]> pd.if.org Git - liblfds/blob - liblfds/liblfds7.1.0/test_and_benchmark/benchmark/build/msvc_gnumake_liblfds710_liblfds700/makefile
Initial import (all versions, including the new 7.1.0)
[liblfds] / liblfds / liblfds7.1.0 / test_and_benchmark / benchmark / build / msvc_gnumake_liblfds710_liblfds700 / makefile
1 ##### paths #####
2 BINDIR := ..\..\bin
3 OBJDIR := ..\..\obj
4 SRCDIR := ..\..\src
5
6 ##### misc #####
7 QUIETLY := 1>nul 2>nul
8
9 ##### sources, objects and libraries #####
10 BINNAME := benchmark
11 BINARY  := $(BINDIR)/$(BINNAME).exe
12 SRCDIRS := .
13 SOURCES := main.c misc.c util_cmdline.c porting_abstraction_layer_numa_free.c porting_abstraction_layer_numa_malloc.c
14 OBJECTS := $(patsubst %.c,$(OBJDIR)/%.obj,$(notdir $(SOURCES)))
15 SYSLIBS := kernel32.lib
16 EXTLIBS := 
17 USRLIBS := ../../../../liblfds710/bin/liblfds710.lib ../../../../../liblfds7.0.0/liblfds700/bin/liblfds700.lib ../../../../test_and_benchmark/libshared/bin/libshared.lib ../../../../test_and_benchmark/libbenchmark/bin/libbenchmark.lib
18
19 ##### tools #####
20 CC                     := cl
21 CFLAGS_MANDATORY       := 
22 CFLAGS_OPTIONAL        := /nologo /W4 /WX /c "/Fd$(BINDIR)\$(BINNAME).pdb" /DUNICODE /D_UNICODE /D_CRT_SECURE_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN
23 CFLAGS_MANDATORY_DBG   := /Od /Gm /Zi /D_DEBUG
24 CFLAGS_MANDATORY_REL   := /Ox /DNDEBUG
25
26 LD                     := link
27 LDFLAGS_MANDATORY      := /nodefaultlib /subsystem:console
28 LDFLAGS_OPTIONAL       := /nologo /nxcompat /wx
29 LDFLAGS_MANDATORY_DBG  := /debug "/pdb:$(BINDIR)\$(BINNAME).pdb"
30 LDFLAGS_MANDATORY_REL  := /incremental:no
31
32 ##### build variants #####
33 ifeq ($(MAKECMDGOALS),) # TRD : default to lib debug
34   CFLAGS_MANDATORY  += $(CFLAGS_MANDATORY_DBG) /MTd
35   LDFLAGS_MANDATORY += $(LDFLAGS_MANDATORY_DBG)
36   CLIB              := libcmtd.lib
37 endif
38
39 ifeq ($(MAKECMDGOALS),libdbg)
40   CFLAGS_MANDATORY  += $(CFLAGS_MANDATORY_DBG) /MTd
41   LDFLAGS_MANDATORY += $(LDFLAGS_MANDATORY_DBG)
42   CLIB              := libcmtd.lib
43 endif
44
45 ifeq ($(MAKECMDGOALS),librel)
46   CFLAGS_MANDATORY  += $(CFLAGS_MANDATORY_REL) /MT
47   LDFLAGS_MANDATORY += $(LDFLAGS_MANDATORY_REL)
48   CLIB              := libcmt.lib
49 endif
50
51 ifeq ($(MAKECMDGOALS),dlldbg)
52   CFLAGS_MANDATORY  += $(CFLAGS_MANDATORY_DBG) /MDd
53   LDFLAGS_MANDATORY += $(LDFLAGS_MANDATORY_DBG)
54   CLIB              := msvcrtd.lib
55 endif
56
57 ifeq ($(MAKECMDGOALS),dllrel)
58   CFLAGS_MANDATORY  += $(CFLAGS_MANDATORY_REL) /MD
59   LDFLAGS_MANDATORY += $(LDFLAGS_MANDATORY_REL)
60   CLIB              := msvcrt.lib
61 endif
62
63 ##### search paths #####
64 vpath %.c $(patsubst %,$(SRCDIR)/%:,$(SRCDIRS))
65
66 ##### implicit rules #####
67 $(OBJDIR)/%.obj : %.c
68         $(CC) $(CFLAGS_OPTIONAL) $(CFLAGS) $(CFLAGS_MANDATORY) "/Fo$@" $<
69
70 ##### explicit rules #####
71 $(BINARY) : $(OBJECTS)
72         $(LD) $(LDFLAGS_OPTIONAL) $(LDFLAGS) $(LDFLAGS_MANDATORY) $(CLIB) $(SYSLIBS) $(EXTLIBS) $(USRLIBS) $(OBJECTS) /out:$(BINARY)
73
74 ##### phony #####
75 .PHONY : clean librel libdbg dllrel dlldbg
76
77 clean : 
78         @erase /Q $(OBJDIR)\*.obj $(OBJDIR)\*.res $(BINDIR)\$(BINNAME).* $(QUIETLY)
79
80 dlldbg : $(BINARY)
81 dllrel : $(BINARY)
82 libdbg : $(BINARY)
83 librel : $(BINARY)
84
85 ##### dependencies #####
86 -include $(DEPENDS)
87