root/Makefile

Revision 105, 1.4 kB (checked in by ng, 5 years ago)

Makefile…

Line 
1
2 ifdef DEBUG
3     DEBUGFLAGS=-g -ggdb -dH -D_DEBUG_=1
4     STRIP=@echo
5 else
6     DEBUGFLAGS=
7     STRIP=strip
8 endif
9
10 ifdef NOASSERT
11     ASSERTFLAGS=-DDISABLE_ASSERT=1
12 else
13     ASSERTFLAGS=
14 endif
15
16 ifdef SDL
17     IHM_FILES=gemmes_sdl.c board_sdl.c sdl_draw.c
18     IHMFLAGS=`sdl-config --cflags` -DGEMMES_SDL=1
19     LDFLAGS=`sdl-config --libs`
20 else
21     IHM_FILES=gemmes_text.c board_text.c font_text.c
22     IHMFLAGS=-DGEMMES_TXT=1
23     LDFLAGS=
24 endif
25
26 ifdef WIN_PORT
27     WIN_FILES=win_port.c
28     SYSFLAGS=-DG_WINDOWS
29 else
30     WIN_FILES=
31     SYSFLAGS=-DG_LINUX
32 endif
33
34 CC=gcc
35 CFLAGS=-W -Wall  $(DEBUGFLAGS) $(ASSERTFLAGS) $(IHMFLAGS) $(SYSFLAGS)
36 SRC=gemmes.c main.c board.c randseq.c $(IHM_FILES) $(WIN_FILES)
37 OBJS= $(SRC:.c=.o)
38 EXE=gemmes
39
40 all: $(EXE)
41
42 gemmes.o: gemmes.h assert.h
43 gemmes_text.o: gemmes.h assert.h
44 gemmes_sdl.o: gemmes.h assert.h sdl_draw.h
45 main.o: gemmes.h
46 board.o: board.h assert.h
47 board_text.o: board.h assert.h
48 board_sdl.o: board.h assert.h
49 randseq.o: randseq.h assert.h
50 font_text.o: font_text.h assert.h
51 sdl_draw.o: sdl_draw.h
52
53 $(EXE): $(OBJS)
54         $(CC) -o $@ $^ $(LDFLAGS)
55         $(STRIP) $@ > /dev/null
56         @echo Done.
57
58
59
60 .PHONY: clean sdl mrproper
61
62 clean:
63         @rm -f *.o *~ core *.core core.* *.tmp
64
65 mrproper: clean
66         @rm -f gemmes xgemmes
67
68 sdl:
69         @$(MAKE) SDL=1
70
71 both:
72         @$(MAKE) clean
73         @$(MAKE) SDL=1
74         @mv $(EXE) x$(EXE)
75         @$(MAKE) clean
76         @$(MAKE)
77         @echo 'Text & SDL version built.'
78
79 %.o: %.c
80         $(CC) -o $@ -c $< $(CFLAGS)
81
82
Note: See TracBrowser for help on using the browser.