summaryrefslogtreecommitdiff
path: root/apps/codecs/dumb/make/Makefile.inc
blob: 9b213d8b76f4601ef823742dae61d031e486e190 (plain)
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
# This file contains the main rules for compiling the library. It is included
# twice with different values for CFLAGS and OBJDIR, so the optimised and
# debugging libraries are both built.

CORE_OBJECTS := $(addprefix $(OBJDIR)/, $(notdir $(patsubst %.c, %.o, $(CORE_MODULES))))
ALLEGRO_OBJECTS := $(addprefix $(OBJDIR)/, $(notdir $(patsubst %.c, %.o, $(ALLEGRO_MODULES))))


# Pass the current value of CFLAGS through to the commands. Or, more
# accurately, create a local copy of the current CFLAGS variable. This is
# necessary because Make doesn't expand variables in commands until they are
# executed.
$(CORE_LIB_FILE): CFLAGS := $(CFLAGS)
$(ALLEGRO_LIB_FILE): CFLAGS := $(CFLAGS)


$(OBJDIR)/%.o: src/core/%.c include/dumb.h include/internal/dumb.h
	@echo "(dumb) CC $<"
	@$(CC) -c -o $@ $< $(CFLAGS)

$(OBJDIR)/%.o: src/helpers/%.c include/dumb.h
	@echo "(dumb) CC $<"
	@$(CC) -c -o $@ $< $(CFLAGS)

$(OBJDIR)/%.o: src/it/%.c include/dumb.h include/internal/it.h
	@echo "(dumb) CC $<"
	@$(CC) -c -o $@ $< $(CFLAGS)

$(OBJDIR)/%.o: src/allegro/%.c include/aldumb.h include/dumb.h \
                      include/internal/aldumb.h include/internal/dumb.h
	@echo "(dumb) CC $<"
	@$(CC) -c -o $@ $< $(CFLAGS) $(WFLAGS_ALLEGRO)

$(CORE_LIB_FILE): $(CORE_OBJECTS)
	@echo "(dumb) AR $<"
	@$(AR) rs $@ $^

$(ALLEGRO_LIB_FILE): $(ALLEGRO_OBJECTS)
	@echo "(dumb) AR $<"
	@$(AR) rs $@ $^