jw-pkg/make/rules.mk
2001-07-27 22:02:40 +00:00

89 lines
1.5 KiB
Makefile

# generic utility modules
# (c) 2001 jannet it services
# contact@jannet.de
# $Id$
all.done: $(ALL)
touch $@
%.done:
make -C $(shell dirname $@) `basename $@`
$(LIBDIR):
mkdir -p $@
#lib$(MOD)(%.o).a: %.c $(LIBDIR)
# $(CC) $(CFLAGS) -c $< -o $*.o
# $(AR) r $@ $*.o
# $(RM) $*.o
lib%.so: %.o
$(CC) $< $(LDFLAGS) -o $@
$(TOPDIR)/include:
mkdir -p $@
$(TOPDIR)/include/%.h: $(TOPDIR)/include %.h
cp $(@F) $@
%.o: %.cpp
$(CPP) $(CPPFLAGS) -c $<
%.o: %.c
$(CC) $(CFLAGS) -c $<
$(EXE): $(OBJ) $(LIB)
$(CC) $(OBJ) $(LDFLAGS) -o $@
$(LIBS):
make -C $(LIBDIR) all
$(PREFIX) $(PREFIX)/%:
mkdir -p $@
checkroot:
@if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \
echo "Error: You can only do this if either" ;\
echo " a) you are user \"root\"" ;\
echo " b) the Makefile variable CHECK_ROOT does not contain \"true\" as value." ;\
fi
installexe: $(ALL) checkroot $(PREFIX)/bin
$(INSTALL) $(EXE) $(PREFIX)/bin/
installso: $(ALL) checkroot $(PREFIX)/lib
$(INSTALL) $(SHOBJS) $(PREFIX)/lib/
installsh: $(ALL) checkroot $(PREFIX)/bin
$(INSTALL) $(SHSCRIPTS) $(PREFIX)/bin/
pckgclean:
rm -rf *.zip *.tar.gz *.rpm *.deb
tmpclean:
rm -rf *.tmp *.rep
objclean:
rm -rf core .*.o *.o *.a *.so
textclean: doneclean
rm -rf $(TEXTCLEAN)
allclean:
rm -rf $(ALL)
doneclean:
rm -rf *.done
execlean: allclean objclean textclean
distclean: clean objclean textclean tmpclean vcdistclean
localclean: $(LOCAL_CLEAN)
rm -rf $(CLEAN)
libclean:
rm -rf $(LIB)
vcdistclean:
rm -rf *.plg *.opt *.ncb Debug *.exe dist *.ilk