agsprite: fix UB
[rofl0r-agsutils.git] / Makefile
blobad87a07c5f75f2f8dc7f9a4c2abff2f03cb4abf1
1 prefix=/usr/local
2 bindir=$(prefix)/bin
4 PROGS_SRCS = \
5 agstract.c \
6 agspack.c \
7 agscriptxtract.c \
8 agssemble.c \
9 agsdisas.c \
10 agssim.c \
11 agsprite.c \
12 agsinject.c
14 PROGS_OBJS = $(PROGS_SRCS:.c=.o)
15 CPROGS = $(PROGS_SRCS:.c=)
16 PROGS = $(CPROGS) agsoptimize agsex
18 LIB_SRCS = \
19 Assembler.c \
20 ByteArray.c \
21 Clib32.c \
22 DataFile.c \
23 File.c \
24 List.c \
25 MemGrow.c \
26 RoomFile.c \
27 Script.c \
28 preproc.c \
29 tokenizer.c \
30 SpriteFile.c \
31 rle.c \
32 StringEscape.c
34 LIB_OBJS = $(LIB_SRCS:.c=.o)
36 CFLAGS_WARN = -Wall -Wextra -Wno-unknown-pragmas -Wno-sign-compare
38 -include config.mak
40 all: $(PROGS)
42 $(PROGS): $(LIB_OBJS)
44 %.o: %.c
45 $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_WARN) -o $@ -c $<
47 %: %.o $(LIB_OBJS)
48 $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_WARN) -o $@ $^ $(LDFLAGS)
50 rcb:
51 make -f Makefile.binary FNAME=agstract
52 make -f Makefile.binary FNAME=agspack
53 make -f Makefile.binary FNAME=agscriptxtract
54 make -f Makefile.binary FNAME=agssemble
55 make -f Makefile.binary FNAME=agsdisas
56 make -f Makefile.binary FNAME=agsinject
57 make -f Makefile.binary FNAME=agssim
59 clean:
60 rm -f $(CPROGS) $(LIB_OBJS) $(PROGS_OBJS)
61 rm -f *.out
62 rm -f *.o
63 rm -f *.rcb
65 install: $(PROGS:%=$(DESTDIR)$(bindir)/%)
67 $(DESTDIR)$(bindir)/%: %
68 install -D -m 755 $< $@
70 .PHONY: all clean