[BACK]Return to Makefile CVS log [TXT][DIR] Up to [contributed] / brogue-ce

Annotation of brogue-ce/Makefile, Revision 1.1

1.1     ! rubenllo    1: include config.mk
        !             2:
        !             3: cflags := -Isrc/brogue -Isrc/platform -std=c99 \
        !             4:        -Wall -Wpedantic -Werror=implicit -Wno-parentheses -Wno-unused-result -Wno-format
        !             5: libs := -lm
        !             6: cppflags := -DDATADIR=$(DATADIR)
        !             7:
        !             8: sources := $(wildcard src/brogue/*.c) $(addprefix src/platform/,main.c platformdependent.c)
        !             9:
        !            10: ifeq ($(RELEASE),YES)
        !            11:        extra_version :=
        !            12: else
        !            13:        extra_version := $(shell bash tools/git-extra-version)
        !            14: endif
        !            15: cppflags += -DBROGUE_EXTRA_VERSION='"$(extra_version)"'
        !            16:
        !            17: ifeq ($(TERMINAL),YES)
        !            18:        sources += $(addprefix src/platform/,curses-platform.c term.c)
        !            19:        cppflags += -DBROGUE_CURSES
        !            20:        libs += -lncurses
        !            21: endif
        !            22:
        !            23: ifeq ($(GRAPHICS),YES)
        !            24:        sources += $(addprefix src/platform/,sdl2-platform.c tiles.c)
        !            25:        cflags += $(shell $(SDL_CONFIG) --cflags)
        !            26:        cppflags += -DBROGUE_SDL
        !            27:        libs += $(shell $(SDL_CONFIG) --libs) -lSDL2_image
        !            28: endif
        !            29:
        !            30: ifeq ($(WEBBROGUE),YES)
        !            31:        sources += $(addprefix src/platform/,web-platform.c)
        !            32:        cppflags += -DBROGUE_WEB
        !            33: endif
        !            34:
        !            35: ifeq ($(MAC_APP),YES)
        !            36:        cppflags += -DSDL_PATHS
        !            37: endif
        !            38:
        !            39: ifeq ($(DEBUG),YES)
        !            40:        cflags += -g -Og
        !            41:        cppflags += -DENABLE_PLAYBACK_SWITCH
        !            42: else
        !            43:        cflags += -O2
        !            44: endif
        !            45:
        !            46: objects := $(sources:.c=.o)
        !            47:
        !            48: .PHONY: clean
        !            49:
        !            50: %.o: %.c src/brogue/Rogue.h src/brogue/IncludeGlobals.h
        !            51:        $(CC) $(cppflags) $(CPPFLAGS) $(cflags) $(CFLAGS) -c $< -o $@
        !            52:
        !            53: bin/brogue: $(objects)
        !            54:        $(CC) $(cflags) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(libs) $(LDLIBS)
        !            55:
        !            56: windows/icon.o: windows/icon.rc
        !            57:        windres $< $@
        !            58:
        !            59: bin/brogue.exe: $(objects) windows/icon.o
        !            60:        $(CC) $(cflags) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(libs) $(LDLIBS)
        !            61:        mt -manifest windows/brogue.exe.manifest '-outputresource:bin/brogue.exe;1'
        !            62:
        !            63: clean:
        !            64:        $(RM) src/brogue/*.o src/platform/*.o bin/brogue{,.exe}
        !            65:
        !            66:
        !            67: common-files := README.txt CHANGELOG.txt LICENSE.txt seed-catalog.txt
        !            68: common-bin := bin/assets bin/keymap.txt
        !            69:
        !            70: %.txt: %.md
        !            71:        cp $< $@
        !            72:
        !            73: windows.zip: $(common-files) $(common-bin)
        !            74:        zip -rvl $@ $^ bin/brogue.exe bin/*.dll bin/brogue-cmd.bat
        !            75:
        !            76: macos.zip: $(common-files)
        !            77:        chmod +x "Brogue CE.app"/Contents/MacOS/brogue
        !            78:        zip -rv -ll $@ $^ "Brogue CE.app"
        !            79:
        !            80: linux.tar.gz: $(common-files) $(common-bin) brogue
        !            81:        chmod +x bin/brogue
        !            82:        tar -cavf $@ $^ bin/brogue -C linux make-link-for-desktop.sh
        !            83:
        !            84:
        !            85: # $* is the matched %
        !            86: icon_%.png: bin/assets/icon.png
        !            87:        convert $< -resize $* $@
        !            88:
        !            89: macos/Brogue.icns: icon_32.png icon_128.png icon_256.png icon_512.png
        !            90:        png2icns $@ $^
        !            91:        $(RM) $^
        !            92:
        !            93: Brogue.app: bin/brogue
        !            94:        mkdir -p $@/Contents/{MacOS,Resources}
        !            95:        cp macos/Info.plist $@/Contents
        !            96:        cp bin/brogue $@/Contents/MacOS
        !            97:        cp -r macos/Brogue.icns bin/assets $@/Contents/Resources

CVSweb