make: Support QT applications

Need to have USE_PROJECT_LIB = true if a project lib is required
This commit is contained in:
Jan Lindemann 2002-02-16 14:50:37 +00:00 committed by Jan Lindemann
commit 76be1a319f
2 changed files with 35 additions and 6 deletions

View file

@ -33,6 +33,8 @@ GCC_REV = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); pri
# TOPDIR := $(MODDIR)
#endif
CPP = g++
#LIBNAME = $(PROJECT)
CFILES = $(wildcard *.c)
CPPFILES = $(wildcard *.cc *.cpp)
@ -91,13 +93,33 @@ LDFFTW = -lrfftw -lfftw -lm
INSTALLED_SHOBJS = $(addprefix $(PREFIX)/lib/,$(SHOBJS))
ifeq ($(GCC_MAJOR),2)
LPPFLAGS = -lg++ -lstdc++
else
LPPFLAGS = -lstdc++ -L/usr/local/lib
ifeq ($(USE_QT),true)
USE_X = true
MOC = /usr/lib/qt2/bin/moc
UIC = /usr/lib/qt2/bin/uic
MOC_CPP = $(patsubst %.h,moc_%.cpp,$(MOC_HEADER))
OBJ += $(patsubst %.cpp,%.o,$(MOC_CPP))
LPPFLAGS += -L/usr/lib/qt2/lib -lqt
INCLUDE += -I/usr/lib/qt2/include
endif
LDFLAGS = -L$(LIBDIR) -l$(LIBNAME) $(LOCAL_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS)
ifeq ($(USE_X),true)
LDFLAGS += -L/usr/X11/lib -lXext -lX11
endif
ifeq ($(GCC_MAJOR),2)
LPPFLAGS += -lg++ -lstdc++
else
LPPFLAGS += -lstdc++ -L/usr/local/lib
endif
ifeq ($(USE_PROJECT_LIB),true)
PROJECTLIB_LDFLAGS = -L$(LIBDIR) -l$(LIBNAME)
endif
LDFLAGS = $(USE_PROJECT_LIB) $(LOCAL_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS)
LDREST = $(LDAUDIO) $(LDFFTW) -ldl
CC = $(YAMD)gcc
CPP = $(YAMD)g++

View file

@ -22,6 +22,9 @@ $(LIBDIR):
# $(AR) r $@ $*.o
# $(RM) $*.o
moc_%.cpp: %.h
$(MOC) -o $@ $<
lib%.so: %.o
$(CC) $< $(LDFLAGS) -o $@
@ -37,7 +40,11 @@ $(TOPDIR)/include/%.h: $(TOPDIR)/include %.h
%.o: %.c
$(CC) $(CFLAGS) -c $<
ifeq ($(USE_PROJECT_LIB),true)
$(EXE): $(OBJ) $(LIB)
else
$(EXE): $(OBJ)
endif
$(CC) $(OBJ) $(LDFLAGS) -o $@
$(LIBS):
@ -70,7 +77,7 @@ tmpclean:
rm -rf *.tmp *.rep
objclean:
rm -rf core .*.o *.o *.a *.so *.so.*
rm -rf core .*.o *.o *.a *.so *.so.* $(MOC_CPP)
textclean: doneclean
rm -rf $(TEXTCLEAN) \#*\# .kdbgrc.* .\#*