Skip to content

Commit 0913c46

Browse files
committed
refactor makefile, add mingw makefile
1 parent 1ce656f commit 0913c46

File tree

4 files changed

+61
-34
lines changed

4 files changed

+61
-34
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
LOGFILE.TXT
2+
stderr.txt
23
soulfu
4+
soulfu.exe
35
source/soulfu.o
46
*.sdf
57
*.RUN
68
SAVELOG.TXT
79
SAVE*.DAT
10+
CONFIG.DAT
11+
*.dll

Makefile

Lines changed: 10 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,19 @@
1-
.PHONY: all clean pack
1+
.PHONY: all clean
22

3-
SDP = sdp/sdp
4-
SLC = slc/slc
5-
SSC = ssc/ssc
3+
PKG ?= pkg-config
64

75
TARGET = soulfu
8-
DATAFILE = datafile.sdf
9-
DATADIR = datadir
106
SRC = source/soulfu.c
11-
OBJ = $(SRC:.c=.o)
12-
LIB = -lm -lSDL -lSDL_net -lGL -logg -ljpeg -lvorbis
13-
FLAGS = -m32 -g
7+
DEP = $(wildcard source/*.c source/*.h)
8+
LDLIBS = -lm $(shell $(PKG) --libs sdl SDL_net ogg libjpeg vorbis gl)
9+
FLAGS = -m32 -DDEVTOOL
1410

15-
ifdef DEVTOOL
16-
FLAGS += -DDEVTOOL
17-
endif
18-
19-
all: $(TARGET) $(DATAFILE)
11+
all: $(TARGET) data
2012

2113
clean:
22-
rm -rf $(TARGET) $(OBJ) $(DATAFILE)
23-
24-
pack: $(DATAFILE)
25-
26-
$(DATAFILE): | $(DATADIR) $(SDP)
27-
$(SSC) -c -i $(DATADIR)
28-
$(SDP) -p -n -i $(DATADIR) -o $(DATAFILE)
29-
30-
$(SDP): | sdp
31-
make -C sdp
32-
33-
$(SLC): | slc
34-
make -C slc
35-
36-
$(SSC): | ssc
37-
make -C ssc
14+
rm -rf $(TARGET) $(DATAFILE)
3815

39-
$(TARGET): $(OBJ)
40-
gcc $(FLAGS) -o $@ -Isource $(LIB) $(OBJ)
16+
$(TARGET): $(DEP)
17+
$(CC) $(FLAGS) -o $@ -Isource $(SRC) $(LDLIBS)
4118

42-
%.o: %.c
43-
gcc $(FLAGS) -c -o $@ -Isource $(LIB) $<
19+
include common.mk

Makefile.mingw

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
.PHONY: all clean
2+
3+
PKG = i686-w64-mingw32-pkg-config
4+
CC = i686-w64-mingw32-gcc
5+
6+
TARGET = soulfu
7+
SRC = source/soulfu.c
8+
DEP = $(wildcard source/*.c source/*.h)
9+
LDLIBS = $(shell $(PKG) --libs sdl SDL_net ogg libjpeg vorbis) -lopengl32
10+
FLAGS = -DDEVTOOL
11+
12+
all: $(TARGET) data
13+
14+
clean:
15+
rm -rf $(TARGET) $(DATAFILE)
16+
17+
$(TARGET): $(DEP)
18+
$(CC) $(FLAGS) -o $@ -Isource $(SRC) $(LDLIBS)
19+
20+
include common.mk

common.mk

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
.PHONY: data
2+
3+
SDP = sdp/sdp
4+
SLC = slc/slc
5+
SSC = ssc/ssc
6+
7+
DATAFILE = datafile.sdf
8+
DATADIR = datadir
9+
# do not pack RUN files
10+
DATAEXT = DAT DDD JPG LAN MUS OGG PCX SRC SRF TXT
11+
DATADEP = $(foreach ext,$(DATAEXT),$(wildcard $(DATADIR)/*.$(ext)))
12+
13+
data: $(DATAFILE)
14+
15+
# TBD: ssc should compile only things that changed since last build
16+
$(DATAFILE): $(DATADEP) | $(DATADIR) $(SSC) $(SDP)
17+
$(SSC) -c -i $(DATADIR)
18+
$(SDP) -p -n -i $(DATADIR) -o $(DATAFILE)
19+
20+
$(SDP): | sdp
21+
make -C sdp
22+
23+
$(SLC): | slc
24+
make -C slc
25+
26+
$(SSC): | ssc
27+
make -C ssc

0 commit comments

Comments
 (0)