summaryrefslogtreecommitdiffstats
path: root/modules/game/tmp/Makefile
blob: 9cea18b72d9c68237f732f9a4287cbe1ca3f0518 (plain) (blame)
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
# -*- MakeFile -*-

# MACRO = substitute with this

# directories

LIBALX_INC_DIR = $(LIBALX_DIR)/inc/

PLAY_INC_DIR = $(PLAY_DIR)/inc/
SAVE_INC_DIR = $(SAVE_DIR)/inc/
XYZZY_INC_DIR = $(XYZZY_DIR)/inc/

INC_DIR = $(GAME_DIR)/inc/
SRC_DIR = $(GAME_DIR)/src/

# dependencies

_ALL	= game.o game_iface.o
ALL	= $(_ALL) game_mod.o

GAME_INC_LIBALX	= libalx/alx_seed.h
GAME_INC_SAVE	= save.h
GAME_INC	= game.h
GAME_DEPS	= $(SRC_DIR)/game.c \
			$(patsubst %,$(INC_DIR)/%,$(GAME_INC)) \
			$(patsubst %,$(LIBALX_INC_DIR)/%,$(GAME_INC_LIBALX)) \
			$(patsubst %,$(SAVE_INC_DIR)/%,$(GAME_INC_SAVE))
GAME_INC_DIRS	= -I $(INC_DIR) \
			-I $(SAVE_INC_DIR) \
			-I $(LIBALX_INC_DIR)

GAMEI_INC_PLAY	= player_iface.h
GAMEI_INC_SAVE	= save.h score.h
GAMEI_INC_XYZZY	= xyzzy.h
GAMEI_INC	= game_iface.h	game.h
GAMEI_DEPS	= $(SRC_DIR)/game_iface.c \
			$(patsubst %,$(INC_DIR)/%,$(GAME_INC)) \
			$(patsubst %,$(PLAY_INC_DIR)/%,$(GAMEI_INC_PLAY)) \
			$(patsubst %,$(SAVE_INC_DIR)/%,$(GAME_INC_SAVE)) \
			$(patsubst %,$(XYZZY_INC_DIR)/%,$(GAMEI_INC_XYZZY))
GAMEI_INC_DIRS = -I $(INC_DIR) \
			-I $(PLAY_INC_DIR) \
			-I $(SAVE_INC_DIR) \
			-I $(XYZZY_INC_DIR)

# target: dependencies
#	action

all: $(ALL)


game_mod.o: $(_ALL)
	$(Q)$(LD) -r $^ -o $@
	@echo	"	LD	$@"


game.s: $(GAME_DEPS)
	$(Q)$(CC) $(CFLAGS) $(GAME_INC_DIRS) -S $< -o $@
	@echo	"	CC	$@"
game.o: game.s
	$(Q)$(AS) $< -o $@
	@echo	"	AS	$@"

game_iface.s: $(GAMEI_DEPS)
	$(Q)$(CC) $(CFLAGS) $(GAMEI_INC_DIRS) -S $< -o $@
	@echo	"	CC	$@"
game_iface.o: game_iface.s
	$(Q)$(AS) $< -o $@
	@echo	"	AS	$@"


clean:
	$(Q)rm -f *.o *.s