| 1 | SRC = src
|
|---|
| 2 | TARGET = build
|
|---|
| 3 | SUBFOLDERS = patches flatline beaengine
|
|---|
| 4 |
|
|---|
| 5 | DEF = BEA_ENGINE_STATIC
|
|---|
| 6 | INCLUDEPATHS = .
|
|---|
| 7 | GCCFLAGS = -std=c99 -O0 -Wall -fomit-frame-pointer -fpack-struct -Wextra -Wno-pragmas -Wno-unused-variable $(addprefix -I$(SRC)/,$(INCLUDEPATHS)) -Wno-unused-parameter $(addprefix -D,$(DEF))
|
|---|
| 8 | LINKFLAGS = -O0 -Wall -fomit-frame-pointer -fpack-struct -s -mdll
|
|---|
| 9 | LOCALE = LC_MESSAGES=C
|
|---|
| 10 |
|
|---|
| 11 | #LIBS = -lwinmm -lopengl32
|
|---|
| 12 | LIBS = -lgdi32 -lwsock32
|
|---|
| 13 | OBJS = $(SRC)/binkw32.def
|
|---|
| 14 | OUT = $(TARGET)/binkw32.dll
|
|---|
| 15 |
|
|---|
| 16 | FILES := src/_DLLInfo.rc $(foreach dir,. $(SUBFOLDERS),$(wildcard $(SRC)/$(dir)/*.c))
|
|---|
| 17 |
|
|---|
| 18 | ###################################################
|
|---|
| 19 | # #
|
|---|
| 20 | # Should not be required to change anything below #
|
|---|
| 21 | # #
|
|---|
| 22 | ###################################################
|
|---|
| 23 |
|
|---|
| 24 | UNAME := $(shell uname -s)
|
|---|
| 25 | ifeq ("Linux","$(UNAME)")
|
|---|
| 26 | GCC := i686-w64-mingw32-gcc
|
|---|
| 27 | WINDRES := i686-w64-mingw32-windres
|
|---|
| 28 | else
|
|---|
| 29 | GCC := gcc
|
|---|
| 30 | WINDRES := windres
|
|---|
| 31 | endif
|
|---|
| 32 |
|
|---|
| 33 | DESTFOLDERS = $(addprefix $(TARGET)/,$(SUBFOLDERS))
|
|---|
| 34 | DEST = $(patsubst $(SRC)/%.rc,$(TARGET)/%.o,$(patsubst $(SRC)/%.c,$(TARGET)/%.o,$(FILES)))
|
|---|
| 35 |
|
|---|
| 36 | ALL: $(DESTFOLDERS) $(DEST) $(OBJS)
|
|---|
| 37 | @echo "Linking"
|
|---|
| 38 | $(LOCALE) $(GCC) $(LINKFLAGS) -o $(OUT) $(DEST) $(OBJS) $(LIBS)
|
|---|
| 39 |
|
|---|
| 40 | clean:
|
|---|
| 41 | rm -f $(DEST)
|
|---|
| 42 | rm -Rf $(DESTFOLDERS)
|
|---|
| 43 | rm -f $(OUT)
|
|---|
| 44 |
|
|---|
| 45 | $(DESTFOLDERS):
|
|---|
| 46 | mkdir -p $@
|
|---|
| 47 |
|
|---|
| 48 | $(TARGET)/%.o: $(SRC)/%.c
|
|---|
| 49 | @echo "Compiling $<"
|
|---|
| 50 | $(LOCALE) $(GCC) $(GCCFLAGS) -c -o $@ $<
|
|---|
| 51 | @echo
|
|---|
| 52 |
|
|---|
| 53 | $(TARGET)/%.o: $(SRC)/%.rc
|
|---|
| 54 | @echo "Assembling resource $<"
|
|---|
| 55 | $(WINDRES) -i $< -o $@
|
|---|
| 56 | @echo
|
|---|
| 57 |
|
|---|