From: clc5q AT cobra DOT cs DOT Virginia DOT EDU (Clark L. Coleman) Newsgroups: comp.os.msdos.djgpp Subject: makefile problem Date: 22 Feb 2001 21:51:59 GMT Organization: University of Virginia Computer Science Department Lines: 91 Message-ID: <9741lv$r2d$1@murdoch.acc.Virginia.EDU> NNTP-Posting-Host: cobra.cs.virginia.edu X-Trace: murdoch.acc.Virginia.EDU 982878719 27725 128.143.137.16 (22 Feb 2001 21:51:59 GMT) X-Complaints-To: abuse AT virginia DOT edu NNTP-Posting-Date: 22 Feb 2001 21:51:59 GMT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I have a multi-boot machine (DR-DOS, Win95, WinNT, and Linux). I need to build a Linux version of some software that I normally edit and build using DJGPP under NT 4.0. As a result, I would like to use a makefile to assist in the constant conversion of files from Dos to Unix format, which will execute the dos2unix.com file that I downloaded for that purpose. So, I created a "Unix" subdirectory under the source code directory, and then defined a Makefile that will copy *.c and *.h files from the parent to the Unix subdirectory, then run Dos2unix on them. (Dos2unix.com operates in place, using the same file for input and output.) However, when I execute the Makefile with "make all", I get a message that there is nothing to do. If I delete foo.h from the Unix directory, then re-make, I get the same message --- the target does not even exist, yet "there is nothing to make" ! I guess there is something simple that I am missing about make. I am using the latest DJGPP gnu make 3.79.1. Here is the Makefile, which resides in the Unix subdirectory: .h.h: cp $< $@ dos2unix $@ .c.c: cp $< $@ dos2unix $@ ROOT_DIR = /research/cache/findout MD_DIR = ${ROOT_DIR}/intelP6 UNIX_DIR = ${MD_DIR}/unix UNIXSRCS = ${UNIX_DIR}/dosparms.c ${UNIX_DIR}/instparm.c \ $(UNIX_DIR)/pmpcl.c \ $(UNIX_DIR)/pmpapi.c \ $(UNIX_DIR)/inst1kb.c ${UNIX_DIR}/regress.c \ $(UNIX_DIR)/inst4kb.c $(UNIX_DIR)/inst1kbm.c \ $(UNIX_DIR)/inst4kbm.c ${UNIX_DIR}/genmacro.c UNIXHDRS = ${UNIX_DIR}/dosparms.h ${UNIX_DIR}/instparm.h \ $(UNIX_DIR)/pmpcl.h \ $(UNIX_DIR)/pmpapi.h \ ${UNIX_DIR}/regress.h \ $(UNIX_DIR)/bool.h ${UNIX_DIR}/pm.h all: sources headers sources: ${UNIXSRCS} headers: ${UNIXHDRS} ${UNIX_DIR}/dosparms.h : ${ROOT_DIR}/dosparms.h ${UNIX_DIR}/dosparms.c : ${ROOT_DIR}/dosparms.c ${UNIX_DIR}/instparm.h : ${ROOT_DIR}/instparm.h ${UNIX_DIR}/instparm.c : ${ROOT_DIR}/instparm.c ${UNIX_DIR}/inst1kb.c : ${ROOT_DIR}/inst1kb.c ${UNIX_DIR}/inst1kbm.c : ${ROOT_DIR}/inst1kbm.c ${UNIX_DIR}/inst4kb.c : ${ROOT_DIR}/inst4kb.c ${UNIX_DIR}/inst4kbm.c : ${ROOT_DIR}/inst4kbm.c ${UNIX_DIR}/genmacro.c : ${ROOT_DIR}/genmacro.c ${UNIX_DIR}/pm.h : ${ROOT_DIR}/pm.h ${UNIX_DIR}/bool.h : ${ROOT_DIR}/bool.h ${UNIX_DIR}/pmpcl.c : ${ROOT_DIR}/pmpcl.c ${UNIX_DIR}/pmpcl.h : ${ROOT_DIR}/pmpcl.h ${UNIX_DIR}/pmpapi.c : ${ROOT_DIR}/pmpapi.c ${UNIX_DIR}/pmpapi.h : ${ROOT_DIR}/pmpapi.h ${UNIX_DIR}/regress.c : ${ROOT_DIR}/regress.c ${UNIX_DIR}/regress.h : ${ROOT_DIR}/regress.h Any obvious problems here? Thanks for the help.