1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
all: fc-solve.exe
OFLAGS=/Og2 /DFCS_STATE_STORAGE=FCS_STATE_STORAGE_INTERNAL_HASH /DWIN32
DFLAGS=$(OFLAGS) /DDEBUG
INCLUDES=app_str.h caas.h card.h config.h fcs_cl.h fcs.h fcs_dm.h fcs_enums.h fcs_hash.h fcs_isa.h fcs_move.h fcs_user.h jhjtypes.h move.h pqueue.h preset.h rand.h state.h tests.h
CC=cl
LIB32=link.exe
OBJECTS = app_str.obj caas.obj card.obj cmd_line.obj fcs_dm.obj fcs_hash.obj fcs_isa.obj freecell.obj intrface.obj lib.obj move.obj pqueue.obj preset.obj rand.obj scans.obj simpsim.obj state.obj
app_str.obj: app_str.c $(INCLUDES)
$(CC) /c /Foapp_str.obj $(OFLAGS) app_str.c
caas.obj: caas.c $(INCLUDES)
$(CC) /c /Focaas.obj $(OFLAGS) caas.c
card.obj: card.c $(INCLUDES)
$(CC) /c /Focard.obj $(OFLAGS) card.c
cmd_line.obj: cmd_line.c $(INCLUDES)
$(CC) /c /Focmd_line.obj $(OFLAGS) cmd_line.c
fcs_dm.obj: fcs_dm.c $(INCLUDES)
$(CC) /c /Fofcs_dm.obj $(OFLAGS) fcs_dm.c
fcs_hash.obj: fcs_hash.c $(INCLUDES)
$(CC) /c /Fofcs_hash.obj $(OFLAGS) fcs_hash.c
fcs_isa.obj: fcs_isa.c $(INCLUDES)
$(CC) /c /Fofcs_isa.obj $(OFLAGS) fcs_isa.c
freecell.obj: freecell.c $(INCLUDES)
$(CC) /c /Fofreecell.obj $(OFLAGS) freecell.c
intrface.obj: intrface.c $(INCLUDES)
$(CC) /c /Fointrface.obj $(OFLAGS) intrface.c
lib.obj: lib.c $(INCLUDES)
$(CC) /c /Folib.obj $(OFLAGS) lib.c
move.obj: move.c $(INCLUDES)
$(CC) /c /Fomove.obj $(OFLAGS) move.c
pqueue.obj: pqueue.c $(INCLUDES)
$(CC) /c /Fopqueue.obj $(OFLAGS) pqueue.c
preset.obj: preset.c $(INCLUDES)
$(CC) /c /Fopreset.obj $(OFLAGS) preset.c
rand.obj: rand.c $(INCLUDES)
$(CC) /c /Forand.obj $(OFLAGS) rand.c
scans.obj: scans.c $(INCLUDES)
$(CC) /c /Foscans.obj $(OFLAGS) scans.c
simpsim.obj: simpsim.c $(INCLUDES)
$(CC) /c /Fosimpsim.obj $(OFLAGS) simpsim.c
state.obj: state.c $(INCLUDES)
$(CC) /c /Fostate.obj $(OFLAGS) state.c
main.obj: main.c $(INCLUDES)
$(CC) /c /Fomain.obj $(OFLAGS) main.c
test_multi_parallel.obj: test_multi_parallel.c $(INCLUDES)
$(CC) /c /Fotest_multi_parallel.obj $(OFLAGS) test_multi_parallel.c
test_multi.obj: test_multi.c $(INCLUDES)
$(CC) /c /Fotest_multi.obj $(OFLAGS) test_multi.c
###
### Final Targets
###
fc-solve.exe: freecell-solver-static.lib main.obj
$(CC) /Fefc-solve.exe /F0x2000000 freecell-solver-static.lib main.obj
mptest.exe: freecell-solver-static.lib test_multi_parallel.obj
$(CC) /Femptest.exe /F0x2000000 freecell-solver-static.lib test_multi_parallel.obj
mtest.exe: freecell-solver-static.lib test_multi.obj
$(CC) /Femtest.exe /F0x2000000 freecell-solver-static.lib test_multi.obj
freecell-solver-static.lib: $(OBJECTS)
$(LIB32) -lib $(OBJECTS) /out:freecell-solver-static.lib
freecell-solver.dll: $(OBJECTS) freecell-solver.def
$(LIB32) kernel32.lib user32.lib gdi32.lib /dll /out:freecell-solver.dll /implib:freeecell-solver.lib /DEF:freecell-solver.def $(OBJECTS)
clean:
del *.obj *.exe *.lib *.dll *.exp
|