X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=Makefile;h=105f3528a90b6b785f5f168c440940ed83853b34;hb=HEAD;hp=159a11908f7fb723bf7052f7460253d7bb862ec8;hpb=f5591e75b24a7fce77cf4f8bc3f84e46a716a89a;p=summerhack diff --git a/Makefile b/Makefile index 159a119..105f352 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,6 @@ bin = sumhack-thelab include src/parts/Makefile-part include src/sdlvf/Makefile-part - obj = $(src:.cpp=.o) $(csrc:.c=.o) opt = -O1 @@ -12,12 +11,34 @@ opt = -g incdir = -Isrc/3dengfx/src -Ilibs -Ilibs/png -Ilibs/jpeglib -Ilibs/ogg -Ilibs/vorbis CXXFLAGS = -ansi -pedantic -Wall $(opt) $(incdir) -MMD `sdl-config --cflags` CFLAGS = -std=c89 -pedantic -Wall $(opt) $(incdir) -MMD `sdl-config --cflags` -libs = -Llibs src/3dengfx/lib3dengfx.a `sdl-config --libs` -lGL -lvorbis -logg \ - -ljpeg -lpng -lz -l3ds +libs = $(libdir) $(libsys) src/3dengfx/lib3dengfx.a `sdl-config --libs` $(libgl) \ + -lvorbis -logg -ljpeg -lpng -lz -l3ds $(libc) + +sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/') +ifeq ($(sys), mingw) + obj = $(src:.cpp=.w32.o) $(csrc:.c=.w32.o) + bin = sumhack-thelab.exe + libdir = -Llibs/w32 + libgl = -lopengl32 + libsys = -lmingw32 -lgdi32 -mconsole + libc = -lm + +else + libdir = -Llibs + libgl = -lGL + libc = -lm +endif + $(bin): $(obj) 3dengfx libs $(CXX) -o $@ $(obj) $(libs) +%.w32.o: %.c + $(CC) -o $@ $(CFLAGS) -c $< + +%.w32.o: %.cpp + $(CXX) -o $@ $(CXXFLAGS) -c $< + .PHONY: 3dengfx 3dengfx: $(MAKE) -C src/3dengfx @@ -46,3 +67,19 @@ libs: .PHONY: clean-libs clean-libs: $(MAKE) -C libs clean + +.PHONY: cross +cross: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw + +.PHONY: cross-libs +cross-libs: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw -C libs + +.PHONY: cross-clean +cross-clean: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw clean + +.PHONY: cross-clean-libs +cross-clean-libs: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw -C libs clean