view Makefile.inc @ 424:aacd4ad3c4ff

Fix endianchk build when Makefile.inc is being included from parent project and called from other directory.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 09 Mar 2016 22:42:30 +0200
parents 83fe3a3dcb20
children c3f474e59bc1
line wrap: on
line source

NOBUILD_TARGETS += $(OBJPATH) $(BINPATH)
NOINST_TARGETS += $(THLIBS_A)

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

.PHONY: clean srcclean all

##
## Target rules
##
all: $(NOBUILD_TARGETS) $(NOINST_TARGETS) $(TARGETS)


$(THLIBS)th_string.c: $(addprefix $(THLIBS), th_printf1.c th_strmatch.c th_string.h)
	touch $@

$(OBJPATH) $(BINPATH):
	@echo " MKDIR $@"
	@$(MKDIR_P) $@

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

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

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


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

##
## Generate endian check and config.h
##
$(ENDIANCHK_BIN): $(THLIBS)endianchk.c $(BINPATH) $(OBJPATH)
	@echo " CC $@"
	@$(CC) $(CFLAGS) -o $@ $<

config.h: $(ENDIANCHK_BIN)
	$(ENDIANCHK_BIN) > $@


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

srcclean: clean
	$(RM) *~