From 5071057e07354bc819aba372e80ee600dc6ee058 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 5 Dec 2015 08:16:17 +0000 Subject: [PATCH] Tweaked makefiles to enable cross compiling. --- common.mk | 47 ++--------------------------------------------- makefile | 41 ++++++++++++++++++++++++++++++++++++++++- makefile.win32 | 14 +++++++++++++- 3 files changed, 55 insertions(+), 47 deletions(-) diff --git a/common.mk b/common.mk index 0b2dc2d..0496535 100644 --- a/common.mk +++ b/common.mk @@ -1,17 +1,7 @@ -PROG = tbftss - -TARGET = $(PROG)$(EXEEXT) - VERSION = 0.4 REVISION = $(shell date +"%y%m%d") DEBUG = 0 -CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDEBUG=$(DEBUG) -DDATA_DIR=\"$(DATA_DIR)\" -CXXFLAGS += -Wall -ansi -pedantic -Werror -Wstrict-prototypes -CXXFLAGS += -g -lefence - -LIBS := `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm - SEARCHPATH += src/ src/battle src/draw src/game src/galaxy src/json src/system src/test vpath %.c $(SEARCHPATH) vpath %.h $(SEARCHPATH) @@ -37,46 +27,13 @@ OBJS += testMission.o textures.o text.o title.o transition.o OBJS += util.o OBJS += waypoints.o widgets.o -DIST_FILES = data gfx manual music sound src LICENSE makefile* common.mk README.md CHANGELOG - # top-level rule to create the program. -all: $(TARGET) +all: $(PROG) # compiling other source files. %.o: %.c %.h $(DEPS) $(CC) $(CFLAGS) $(CXXFLAGS) -c $< - -# linking the program. -$(TARGET): $(OBJS) - $(CC) -o $@ $(OBJS) $(LIBS) -install: - cp $(TARGET) $(BIN_DIR) - mkdir -p $(DATA_DIR) - cp -r data $(DATA_DIR) - cp -r gfx $(DATA_DIR) - cp -r manual $(DATA_DIR) - cp -r music $(DATA_DIR) - cp -r sound $(DATA_DIR) - -uninstall: - $(RM) $(BIN_DIR)/$(TARGET) - $(RM) -rf $(DATA_DIR) - -# prepare an archive for the program -dist: - $(RM) -rf $(PROG)-$(VERSION) - mkdir $(PROG)-$(VERSION) - cp -r $(DIST_FILES) $(PROG)-$(VERSION) - git log --oneline --decorate >$(PROG)-$(VERSION)/CHANGELOG.raw - tar czf $(PROG)-$(VERSION)-$(REVISION).src.tar.gz $(PROG)-$(VERSION) - mkdir -p dist - $(RM) -rf dist/* - mv $(PROG)-$(VERSION)-$(REVISION).src.tar.gz dist - $(RM) -rf $(PROG)-$(VERSION) - # cleaning everything that can be automatically recreated with "make". clean: - $(RM) $(OBJS) $(TARGET) - -.PHONY: dist + $(RM) $(OBJS) $(PROG) diff --git a/makefile b/makefile index 023faca..1908e3f 100644 --- a/makefile +++ b/makefile @@ -1,5 +1,5 @@ +PROG = tbftss CC = gcc -EXEEXT = BIN_DIR = /usr/bin DATA_DIR = /opt/tbftss @@ -7,3 +7,42 @@ SEARCHPATH += src/plat/unix OBJS += unixInit.o include common.mk + +CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDEBUG=$(DEBUG) -DDATA_DIR=\"$(DATA_DIR)\" +CXXFLAGS += -Wall -ansi -pedantic -Werror -Wstrict-prototypes +CXXFLAGS += -g -lefence + +LFLAGS := `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm + +DIST_FILES = data gfx manual music sound src LICENSE makefile* common.mk README.md CHANGELOG + +# linking the program. +$(PROG): $(OBJS) + $(CC) -o $@ $(OBJS) $(LFLAGS) + +install: + cp $(PROG) $(BIN_DIR) + mkdir -p $(DATA_DIR) + cp -r data $(DATA_DIR) + cp -r gfx $(DATA_DIR) + cp -r manual $(DATA_DIR) + cp -r music $(DATA_DIR) + cp -r sound $(DATA_DIR) + +uninstall: + $(RM) $(BIN_DIR)/$(PROG) + $(RM) -rf $(DATA_DIR) + +# prepare an archive for the program +dist: + $(RM) -rf $(PROG)-$(VERSION) + mkdir $(PROG)-$(VERSION) + cp -r $(DIST_FILES) $(PROG)-$(VERSION) + git log --oneline --decorate >$(PROG)-$(VERSION)/CHANGELOG.raw + tar czf $(PROG)-$(VERSION)-$(REVISION).src.tar.gz $(PROG)-$(VERSION) + mkdir -p dist + $(RM) -rf dist/* + mv $(PROG)-$(VERSION)-$(REVISION).src.tar.gz dist + $(RM) -rf $(PROG)-$(VERSION) + +.PHONY: dist diff --git a/makefile.win32 b/makefile.win32 index a12a627..448a4a3 100644 --- a/makefile.win32 +++ b/makefile.win32 @@ -1,7 +1,19 @@ -EXEEXT = .exe +PROG = tbftss.exe CC = x86_64-w64-mingw32-gcc +SDLC = /usr/x86_64-w64-mingw32/bin/sdl2-config +LIBPATH = /usr/x86_64-w64-mingw32/lib SEARCHPATH += src/plat/win32 OBJS += win32Init.o +CXXFLAGS += `$(SDLC) --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDEBUG=$(DEBUG) -DDATA_DIR=\"$(DATA_DIR)\" +CXXFLAGS += -Wall -ansi -pedantic -Werror -Wstrict-prototypes +CXXFLAGS += -g -lefence + +LFLAGS = `$(SDLC) --libs` -lm -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lSDL2main + include common.mk + +# linking the program. +$(PROG): $(OBJS) + $(CC) -o $@ $(OBJS) $(LFLAGS) -L$(LIBPATH)