Xref: utzoo comp.unix.questions:32191 comp.databases:10596 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!smfst2 From: smfst2@unix.cis.pitt.edu (Seth M Fuller) Newsgroups: comp.unix.questions,comp.databases Subject: Re: Preprocessor dependencies in MAKE Summary: Make dependencies Keywords: make preprocessor dependency sql ingres c Message-ID: <140669@unix.cis.pitt.edu> Date: 17 Jun 91 13:49:32 GMT References: <2331@prodigal.dwrsun2.UUCP> Organization: Univ. of Pittsburgh, Computing & Information Services Lines: 25 In article <2331@prodigal.dwrsun2.UUCP> perl@dwrsun2.UUCP (Robert Perlberg) writes: > .sc.o: > esqlc $*.sc > $(CC) $(CFLAGS) -c $*.c > >it works the first time, but then if I modify runme.sc and run make it >says "`runme' is up to date". > >I don't want to remove the `.c' file after compiling since it's needed >if I want to debug the program with dbx. How do I do this? The problem is that you have eliminate make's knowledge of how to create a .o file from a .c file. You do this with the .SUFFIXES statement before your rules statement. The empty .SUFFIXES statement eliminates make's knowledge of all the suffixes it usually knows. I use the following for 4GL code and it works fine. .SUFFIXES: .SUFFIXES: .4gl .per .frm .c .o If you have any purely C files you want to make in this directory you will have to create a .c.o rule after your .sc.o rule. Seth M. Fuller