#
# SOURCE_DIR is overrided on command line of make
SOURCE_DIR=..
HDRS=$(SOURCE_DIR)/hdrs
CFLAGS= -g -I../hdrs -I$(HDRS)

validcharset: validcharset.o precompiled_sets.o istrcmp.o
	$(CC) $(CFLAGS) -o $@ validcharset.o precompiled_sets.o istrcmp.o

clean:
	rm -f validcharset.o precompiled_sets.o istrcmp.o precompiled_sets.c istrcmp.c validcharset

validcharset.o: ../hdrs/elm_defs.h $(HDRS)/elmlib.h $(HDRS)/cs_imp.h

precompiled_sets.o: $(HDRS)/elm_defs.h $(HDRS)/elmlib.h $(HDRS)/cs_imp.h

istrcmp.o: $(HDRS)/elm_defs.h

../hdrs/elm_defs.h: ../hdrs/defs_major.h ../hdrs
	ln -f $(HDRS)/elm_defs.h $@ || \
 cmp $(HDRS)/elm_defs.h $@ || \
 cp -f $(HDRS)/elm_defs.h $@
	chmod +w $@ || ( cp -f $(HDRS)/elm_defs.h elm_defs.TEMP && mv -f elm_defs.TEMP $@ )

../hdrs/defs_major.h: ../hdrs/sysdefs.h ../config.h ../hdrs
	ln -f $(HDRS)/defs_major.h $@ || \
 cmp $(HDRS)/defs_major.h $@ || \
 cp -f $(HDRS)/defs_major.h $@
	chmod +w $@ || ( cp -f $(HDRS)/defs_major.h defs_major.TEMP && mv -f defs_major.TEMP $@ )

../config.h: $(SOURCE_DIR)/config.h.SH ../config.sh
	( cd  .. ; sh $(SOURCE_DIR)/config.h.SH)

../hdrs/sysdefs.h: $(HDRS)/sysdefs.SH ../config.sh ../hdrs
	( cd  .. ; sh $(HDRS)/sysdefs.SH hdrs)


precompiled_sets.c: $(SOURCE_DIR)/lib/precompiled_sets.c
	ln -f $(SOURCE_DIR)/lib/precompiled_sets.c  $@ || \
 cmp $(SOURCE_DIR)/lib/precompiled_sets.c $@ || \
 cp -f $(SOURCE_DIR)/lib/precompiled_sets.c $@ 

istrcmp.c: $(SOURCE_DIR)/lib/istrcmp.c
	ln -f $(SOURCE_DIR)/lib/istrcmp.c  $@ || \
 cmp $(SOURCE_DIR)/lib/istrcmp.c $@ || \
 cp -f $(SOURCE_DIR)/lib/istrcmp.c $@

../hdrs:
	mkdir ../hdrs
