update README
[rofl0r-VisualBoyAdvance.git] / Makefile
blobdcde6692cd4059b2c77567363637d14384a90a97
1 prefix=/usr/local
2 bindir=$(prefix)/bin
3 sysconfdir=$(prefix)/etc
5 PROGS = VisualBoyAdvance TestEmu
6 CFG = src/VisualBoyAdvance.cfg
8 GENSRCS=src/gen/expr.c src/gen/expr-lex.c
9 FILTERSRCS= \
10 src/motionblur.c src/2xSaI.c src/hq2x.c src/bilinear.c \
11 src/simple2x.c src/admame.c
12 MAINSRCS=$(filter-out $(FILTERSRCS), $(sort $(wildcard src/*.c))) $(GENSRCS)
14 GBSRCS=$(sort $(wildcard src/gb/*.c))
15 SDLSRCS=src/sdl/debugger.c
17 VBASRCS=$(MAINSRCS) $(GBSRCS) $(SDLSRCS) src/sdl/SDL.c
18 VBAOBJS=$(VBASRCS:.c=.o)
20 TESTEMUSRCS=$(MAINSRCS) $(GBSRCS) $(SDLSRCS) src/sdl/TestEmu.c
21 TESTEMUOBJS=$(TESTEMUSRCS:.c=.o)
23 LEX=flex
25 -include config.mak
27 ifneq ($(USE_SDL1),1)
28 SDL=SDL2
29 CPPFLAGS += -DUSE_SDL2
30 else
31 SDL=SDL
32 MAINSRCS += $(FILTERSRCS)
33 endif
36 C99?=$(CC) -std=gnu99
37 CPPFLAGS+=-DSDL -DBKPT_SUPPORT -DSYSCONFDIR=\"$(sysconfdir)\"
39 all: $(PROGS)
41 install: $(PROGS:%=$(DESTDIR)$(bindir)/%) $(CFG:src/%=$(DESTDIR)$(sysconfdir)/%)
43 $(DESTDIR)$(bindir)/%: ./%
44 install -D -m 755 $< $@
46 $(DESTDIR)$(sysconfdir)/%: src/%
47 install -D -m 644 $< $@
49 VisualBoyAdvance: $(VBAOBJS)
50 $(CC) $(LDFLAGS) -o $@ $(VBAOBJS) -l$(SDL) -lpng -lz -lm
52 TestEmu: $(TESTEMUOBJS)
53 $(CC) $(LDFLAGS) -o $@ $(TESTEMUOBJS) -l$(SDL) -lpng -lz -lm
55 clean:
56 rm -f $(GENSRCS)
57 rm -f $(PROGS)
58 rm -f $(VBAOBJS)
60 %.o: %.c
61 $(C99) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $<
63 src/gen/expr.c: src/gen/expr.y
64 $(YACC) -o $@ $<
66 src/gen/expr-lex.c: src/gen/expr.l
67 $(LEX) -o $@ $<
70 .PHONY: all clean install