view Makefile.gen @ 1:25a3a142e909

Moar work.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 24 Sep 2014 22:15:55 +0300
parents 8e7e08bf7b9e
children ea774012d049
line wrap: on
line source

CFLAGS += -g -W -Wall -Wextra -DHAVE_CONFIG_H=1 -I.
CFLAGS += -O2
#CFLAGS += -std=c99 -pedantic
THLIBS=th-libs/

MKDIR ?= mkdir
MKDIR_P ?= $(MKDIR) -p

#
# Objects
#
THLIBS_A=$(OBJPATH)thlibs.a
THLIBS_OBJ=th_util.o th_string.o th_endian.o th_args.o th_crypto.o

ENDIANCHK_BIN=$(BINPATH)endianchk$(EXEEXT)

SIDINFO_OBJ=sidinfo.o
SIDINFO_BIN=$(BINPATH)sidinfo$(EXEEXT)

TARGETS+=$(THLIBS_A) $(SIDINFO_BIN) $(ENDIANCHK_BIN)

NONBUILD+=$(OBJPATH) $(BINPATH) config.h


#
# Target rules
#
all: $(NONBUILD) $(TARGETS)

$(OBJPATH):
	$(MKDIR_P) $@

$(BINPATH):
	$(MKDIR_P) $@

$(OBJPATH)%.o: $(THLIBS)%.c $(THLIBS)%.h
	$(CC) $(CFLAGS) -c -o $@ $<

$(OBJPATH)%.o: %.c %.h
	$(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)

$(OBJPATH)%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $< -I$(THLIBS)


$(THLIBS_A): $(ENDIANCHK_BIN) $(addprefix $(OBJPATH),$(THLIBS_OBJ))
	$(AR) cru $@ $(addprefix $(OBJPATH),$(THLIBS_OBJ))
	$(RANLIB) $@

$(SIDINFO_BIN): $(addprefix $(OBJPATH),$(SIDINFO_OBJ)) $(THLIBS_A) $(EXTRAOBJS)
	$(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)

$(ENDIANCHK_BIN): endianchk.o
	$(CC) -o $@ $+

config.h:
	$(ENDIANCHK_BIN) > $@

#
# Special targets
#
clean:
	$(RM) $(TARGETS) $(OBJPATH)*.o

srcclean: clean
	$(RM) *~