mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-25 05:41:42 +00:00
140 lines
2.5 KiB
Makefile
140 lines
2.5 KiB
Makefile
|
#!/usr/bin/env make -f
|
||
|
|
||
|
## wadexample: libwad example program.
|
||
|
## Copyright (C) 2011 by Callum Dickinson.
|
||
|
#
|
||
|
## This program is free software; you can redistribute it and/or
|
||
|
## modify it under the terms of the GNU General Public License
|
||
|
## as published by the Free Software Foundation; either version 2
|
||
|
## of the License, or (at your option) any later version.
|
||
|
#
|
||
|
## This program is distributed in the hope that it will be useful,
|
||
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
## GNU General Public License for more details.
|
||
|
|
||
|
# Program name.
|
||
|
PRONAME = wadexample
|
||
|
# Program version.
|
||
|
PROVER = 1.0.0
|
||
|
|
||
|
# Program default options.
|
||
|
CPPFLAGS += -DPRONAME="$(PRONAME)" -DPROVER="$(PROVER)"
|
||
|
|
||
|
# Source files and directory.
|
||
|
SRC = wadexample.c
|
||
|
|
||
|
# Required libraries.
|
||
|
LIB = -lwad
|
||
|
|
||
|
#
|
||
|
## Variables that shouldn't be edited unless
|
||
|
## you know what you are doing start here.
|
||
|
#
|
||
|
|
||
|
# Makefile pretty text output variables.
|
||
|
PRCC = CC
|
||
|
PRINSTALL=INSTALL
|
||
|
PRCLEAN = CLEAN
|
||
|
|
||
|
# Library name prefix.
|
||
|
LIBPFX = lib
|
||
|
|
||
|
# Library installation directory.
|
||
|
PREFIX ?= /usr/local
|
||
|
LIBDIR := $(PREFIX)/lib
|
||
|
INCLUDE := $(PREFIX)/include
|
||
|
|
||
|
# Variables created during compilation.
|
||
|
OBJ = $(SRC:.c=.o)
|
||
|
DEP = $(PRONAME).d
|
||
|
ifdef MINGW
|
||
|
BIN = $(PRONAME).exe
|
||
|
else
|
||
|
BIN = $(PRONAME)
|
||
|
endif
|
||
|
|
||
|
# Compilation programs.
|
||
|
ECHO := echo
|
||
|
RM := $(RM) -r
|
||
|
FIND := find
|
||
|
GREP := grep
|
||
|
INSTALLX:= install -m 755
|
||
|
MKDIR := mkdir -p
|
||
|
FOR := for
|
||
|
SED := sed
|
||
|
CC := $(CROSS_COMPILE)$(CC)
|
||
|
|
||
|
# Shell programs.
|
||
|
SHECHO := $(ECHO)
|
||
|
SHFIND := $(FIND)
|
||
|
SHGREP := $(GREP)
|
||
|
SHINSTALL:= $(INSTALL)
|
||
|
SHSED := $(SED)
|
||
|
SHCC := $(CC)
|
||
|
|
||
|
# Quiet compiling programs during pretty text output.
|
||
|
NULL := /dev/null 2>&1
|
||
|
ECHO := @$(ECHO)
|
||
|
ifndef V
|
||
|
RM := @$(RM)
|
||
|
LDCONFIG:= @$(LDCONFIG)
|
||
|
FIND := @$(FIND)
|
||
|
GREP := @$(GREP)
|
||
|
INSTALL := @$(INSTALL)
|
||
|
MKDIR := @$(MKDIR)
|
||
|
FOR := @$(FOR)
|
||
|
SED := @$(SED)
|
||
|
CC := @$(CC)
|
||
|
endif
|
||
|
|
||
|
# Compiler default flags.
|
||
|
ifdef DEBUG
|
||
|
CFLAGS += -g -O0 -Wall -W
|
||
|
endif
|
||
|
|
||
|
# Linker flags.
|
||
|
#LDFLAGS +=
|
||
|
|
||
|
#
|
||
|
## Makefile targets.
|
||
|
#
|
||
|
|
||
|
all: $(DEP) $(BIN)
|
||
|
|
||
|
$(DEP): $(SRC)
|
||
|
ifndef V
|
||
|
$(ECHO) " $(PRCC)$@"
|
||
|
endif
|
||
|
-$(RM) $@
|
||
|
$(FOR) f in $(SRC); do \
|
||
|
$(SHCC) $(CPPFLAGS) $(CFLAGS) -MM $$f >> $@; \
|
||
|
done
|
||
|
-include $@
|
||
|
|
||
|
%.o: %.c
|
||
|
ifndef V
|
||
|
$(ECHO) " $(PRCC)$@"
|
||
|
endif
|
||
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
|
||
|
|
||
|
$(BIN): $(OBJ)
|
||
|
ifndef V
|
||
|
$(ECHO) " $(PRCC)$@"
|
||
|
endif
|
||
|
$(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIB)
|
||
|
|
||
|
install: all
|
||
|
ifndef V
|
||
|
$(SHECHO) " $(PRINSTALL)$(BIN)"
|
||
|
endif
|
||
|
$(INSTALLX) $(BIN) $(INSTALLDIR)
|
||
|
|
||
|
clean:
|
||
|
ifndef V
|
||
|
$(ECHO) " $(PRCLEAN)$(OBJ) $(DEP)"
|
||
|
endif
|
||
|
-$(RM) $(OBJ) $(DEP)
|
||
|
|
||
|
.PHONY : all install clean
|