# Compilation rules for cc and tlcc files .SUFFIXES: .SUFFIXES: .o .os .obt .help .html .sgml .txt .doc .tex .java .class .tlcc .cc .hcc .hc EGCS=$(shell test -f /usr/bin/egcs && /bin/echo -n 1) ifeq ($(EGCS),1) # RedHat has decided that egcs was for rh6.2 compatibility # instead of using an environment variable. Very odd # On rh7, we will use gcc. At some point egcs will be history anyway RH7=$(shell grep "release 7" /etc/redhat-release 2>/dev/null | wc -l) RH7_=$(shell expr $(RH7)) ifeq ($(RH7_),1) GPPLINK=gcc GPP=gcc else GPPLINK=egcs GPP=egcs endif else GPP=g++ # Using g++ to link pulls libg++ even if the program does not need it GPPLINK=gcc endif USRBIN=$(RPM_BUILD_ROOT)/usr/bin SBIN=$(RPM_BUILD_ROOT)/sbin INCLUDE=$(RPM_BUILD_ROOT)/usr/include USRLIB=$(RPM_BUILD_ROOT)/usr/lib ETC=$(RPM_BUILD_ROOT)/etc CPP_DEFINES=-Dexport= -DSTATIC= -DEXPORT= -DPUBLIC= -DPROTECTED= -DPRIVATE= -DVIRTUAL= \ -Dnear= -Dfar= -D_GNU_SOURCE -DUNIX .cc.o: @echo " " $< @$(GPP) $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) \ -c $< -o $@ .cc.os: @echo " " $< @$(GPP) -fPIC $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) \ -c $< -o $@ # Trick to compile test program at the end of a source .cc.obt: @echo $< '->' $@ @$(GPP) $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) -DTEST \ -c $< -o $@ .tlcc.o: @echo " " $< @CC=$(GPP) cctlcc \ $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) \ -c $< -o $@ .tlcc.os: @echo " " $< @CC=$(GPP) cctlcc \ -fPIC $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) \ -c $< -o $@ .tlcc.obt: @echo $< '->' $@ @CC=$(GPP) cctlcc \ $(FLAGS) $(CPP_DEFINES) -DPACKAGE_REV=\"$(PACKAGE_REV)\" \ $(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf \ $(CCDEFINES) -DTEST \ -c $< -o $@ lib: $(CURDIR).a $(CURDIR).a: $(OBJS) ar cr $(CURDIR).a $(OBJS) ranlib $(CURDIR).a ifdef DIRS clean: $(LOCAL_CLEAN) rm -f x *.o *.os *.obt *.bak .bak *~ *.a *.old *.log *.nap *.nar core @for i in $(DIRS); do make -C $$i clean || exit 1; done all: @for i in $(DIRS); do make GCC=$(GCC) GPP=$(GPP) -C $$i $@ || exit 1; done else clean: $(LOCAL_CLEAN) rm -f x *.o *.os *.obt *.bak *~ *.a *.old *.log *.nap *.nar endif install: $(LOCAL_INSTALL) $(LOCAL_POSTINSTALL) # Extract the component versions used by the package TLMP.versions: tlccversion --cppoptions \ "$(INCLUDEDIRECTIVES) -I/usr/include/tlmp -I/usr/include/linuxconf" \ *.tlcc TLMP.versions